(一)Java工程化--Maven基础
Maven 读作['mevən] 翻译成中文是"内行,专家"
Maven是什么
- 包依赖的前世今生:
原始的jar包引用--> ant --> maven.
是一种项目管理工具 - Maven优势:
- convertion over configuration 约定优于配置: 这个原则不仅适用于maven, 更是目前大多数框架遵循的原则,如mvc
- 简单
- 易于测试
- 构建简单
- CI(持续集成)
- 插件丰富
下载和安装
- 下载: http://maven.apache.org/download.cgi
- 安装: 解压安装即可
- 环境变量配置:
- windows: 配置path MAVEN_HOME
- linux: 在 .bash_profile 文件中
- 运行参数: 定义环境变量MAVEN_OPS
- 配置settings.xml: settings.xml文件是个空模板,我们可以在这个文件进行一些自定义配置. 常用的配置如:repo存储目录
创建maven项目
项目结构: 遵循约定优于配置原则, 项目包的组织结构如下
- pom.xml
groupId 公司组织id
artifactId 功能命名
version 版本号
packageing 打包方式,默认jar,可修改为maven-project,war
dependancyManagement 最好之出现在父pom中,用于统一版本号,只做声明依赖,子模块pom中还需要引用,但不需要制定version.
dependancy
type 默认jar
scope 指定哪个阶段适用,各阶段如下:
- compile 编译,打包,默认 如spring-core
- test 测试 如spring-test
- provided 编译 如servlet
- runtime 运行时 如JDBC驱动实现包
- system 本地一些jar
依赖传递
依赖仲裁:(1)最短路径原则,根据依赖树就近取最接近的版本;(2)加载顺序原则;(3)exclusions 排除包
命令: mvn dependancy:tree
Maven生命周期(三个过程)
区分术语:lifecycle/phase/goal
生命周期:
- clean
包含的phase: pre-clean --> clean --> post-clean
- default
compile package install deploy ...
- site
pre-site --> site -->post-site --> site-deploy
A Build Lifecycle is Made Up of Phases 一个构建生命周期是有多个phase组成
A Build Phase is Made Up of Plugin Goals 一个构建phase是由多个插件目标goal构成
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
记维护旧项目遇到的问题
在一个发展一段时间的公司,里面或多或少有些早期的项目,今天再往一个早先的项目里面加东西,觉得效率好低,而且还一直遇到问题,耽误不少时间。 记录一下,省的那些时间白白浪费掉。 问题 项目启动慢是最大的问题,项目里面不知道引入了什么包,每次运行的时候都会新启动另外一个java的图标,而且重启的时候,项目都不会响应停止,要点击两次停止,项目才有反应。 项目里面用了很多的redis连接...,配置了很多的redisTemplate Bean。迷惑人 JPA的问题 JPA持久化的对象,主键ID手动分配报错。 ids for this class must be manually assigned before calling save() 不能实例化Repository对象,因为要持久化的对象有些熟悉没找到,JPA的规则比较多 使用@Query注解进行更新删除操作的时候,Can not issue data manipulation statements with executeQuery(). 要加上@Modifing注解 更新和删除操作的时候,还要加上事务的注解,nested excepti...
- 下一篇
TypeScript基础入门 - 函数 - 重载
转载 TypeScript基础入门 - 函数 - 重载 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.2.5 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能直接运行看到输出的结果。 npm install -D ts-node 后面自己在练习的时候可以这样使用 npx ts-node 脚本路径 函数 重载 JavaScript本身是个动态语言。 JavaScript里函数根据传入不同的参数而返回不同类型的数据是很常见的。如下实例 let suits = ["hearts", "spades", "clubs", "diamonds"]; function pickCard(x: any): any { if (typeof x == "object") { let pickCard = Math.floor(Math.random() * x.length); return pickCard; } else if (typeof x == 'number') {...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器