一. 版本Version
默认的版本: 1.0-SNAPSHOT 约定snapshot为不稳定版本, release时一定要删除snapshot。
命令:mvn clean package-U -----强制刷新获取包
建议的版本号:主版本号.次版本号.增量版本号-<里程碑版本> 如:1.0.0-RELEASE, 但也要按自身情况制定适合情况的版本号原则
二. 常用命令:
- clean 清除target
- compile
- test test case junit/testNG
- package 打包
- install 把项目install到本地仓库
- deploy 发布jar到remote服务器
三. 插件
两个常用插件库:
i. https://maven.apache.org/plugins/
ii. http://www.mojohaus.org/plugins.html
常用插件:
- findbugs 静态代码检查 http://www.mojohaus.org/findbugs-maven-plugin
- versions 统一升级版本 http://www.mojohaus.org/versions-maven-plugin/ 可以查看使用示例, 常用的设置版本的命令为mvn versions: set –DnewVersion=1.1.0-final
- source: 打包源代码
- assembly: 打包zip,war等
- tomcat
四. 实战自定义插件 https://maven.apache.org/guides/plugin/guide-java-plugin-development.html
1. 创建项目
2. 修改<packaging>maven-plugin</packaging>
命令: mvn help: system
3. 写代码
4. mvn install
5. 使用
五. profile
- 使用场景 dev/prod/test等
- mvn clean package –P dev
- settings.xml 可以指定不同服务器仓储配置
六. 仓库
- 下载: https://www.sonatype.com/download-oss-sonatype?hsCtaTracking=920dd7b5-7ef3-47fe-9600-10fecad8aa32%7Cf59d5f10-099f-4c66-a622-0254373f4a92
- 安装, 解压即可, 如果需要修改端口号等信息, 可以修改文件\nexus-3.13.0-01\etc\nexus-default.properties
- 启动命令 转到\nexus-3.13.0-01\bin下, nexus /run 可查看启动日志
- 使用: http://books.sonatype.com/nexus-book/reference3/index.html
- pom中增加发布节点
<distributionManagement>
<repository>
<id>nexus-release</id>
<name>nexus-release</name>
<url>http://localhost:8099/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshot</id>
<name>nexus-snapshot</name>
<url>http://localhost:8099/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>- 修改settings.xml 增加服务器账号密码信息
<server>
<id>nexus-release</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>
七. archetype 脚手架
- mvn archetype: create-from-project 从项目生成脚手架
- cd /target/generated-soource/archetype 转到此目录
- mvn install 发布到仓库
- 可以添加到ide的脚手架列表
- mvn archetype:generate: –DarchetypeCatagory=local 命令行方式创建项目