一.项目scm
<scm>
#git项目地址可以用SSH 也可以用 HTTPS的
<connection>scm:git:http://10.69.205.31:8886/mazhenbang/maven_scm.git</connection> #git项目地址可以用SSH 也可以用 HTTPS的
<developerConnection>scm:git:http://10.69.205.31:8886/mazhenbang/maven_scm.git</developerConnection>
#git项目浏览器里的地址
<url>http://10.69.205.31:8886/mazhenbang/maven_scm/tree/master</url>
</scm>
(1)pom.xml中安装的插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-7</version>
<configuration>
<providerImplementations>
<git>jgit</git>
</providerImplementations>
<username>xxxusername</username>
<password>xxxxpasswrod</password>
<tagBase>${project.artifactId}-${project.version}</tagBase>
<goals>-f pom.xml deploy</goals>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jgit</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
(2)需要写distributionManagement,不然发布不上去
<distributionManagement>
<repository>
<id>bizseer.repo</id>
<name>Bizseer Private Repo</name>
<url>http://192.168.115.11:8081/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>bizseer.snapshots</id>
<name>Bizseer Private Repo</name>
<url>http://192.168.115.11:8081/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
(3) 需要使用的命令
1.mvn release:prepare
这条命令主要做的是:
a.把你项目打一个release版本
b.在git的tag中打一个tag
c.自动升级SNAPSHOT 并提交更新后的pom文件到git
我项目现在version是0.0.3-SNAPSHOT
进入项目根目录,执行 mvn release:prepare (注:一定要把本地代码都提交上去,否则会提示你“Cannot prepare the release because you have local modifications”)
首先他会提示你要打的release version是什么,可手动输入,也可按他默认的(默认version是项目中SNAPSHOT的版本打成release)
然后它提示你要在git 上打成tag的名称,按他默认的来就可以,因为上面pom里配置tagBase了
最后他会把你项目里的version向上升一版本并自动提交pom修改后的代码到你的git上,原来是0.0.3-SNAPSHOT ,当你执行完这条命令,你去git仓库看一下pom里的version,已经神奇的变成0.0.3-SNAPSHOT。并且在会给你生成一个tag。
2.mvn release:perform
这条命令主要做的是:
a.去git的tag上拿代码
b.用tag上的代码,打一个release版的包
c.deploy上你的maven私服
(4) 忽略掉测试
mvn release:prepare -Darguments="-DskipTests"
mvn release:perform -Darguments="-DskipTests"
(5)可能出现的错误信息
<1>第一错误:
You don't have a SNAPSHOT project in the reactor projects list
<1>解决方案:
出现这个错,首先去看一下你的pom.xml <version>标签是不是 *.*-SNAPSHOT 结尾标识,按照maven规定 发布下一个正式版本都是在SNAPSHOST版本基础做执行 就是说主干 trunk, 下pom 都是开发版本 是:*.*-SNAPSHOT 标识
<2> 删除已经生成的tag,注意要本地和远程都要删除否则会发生异常的错误
git tag 查看所有的tag
git tag -d 版本名字 删除版本名 git tag -d v1.0
git push origin :refs/tags/标签名 删除远程的tag git tag origin :refs/tags/v1.0
<3> 如果升级版本的时候,报出的以前的版本号错误,请删除项目中release.properties文件
<4>如果打包时候有端口的问题,请查看本机中端口是否被占用
二.项目的check style
(1)pom.xml中要添加的信息
<checkstype.version>3.1.0</checkstype.version>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstype.version}</version>
<configuration>
<configLocation>conf/style/bizseer-kaptain-style.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
(2)常用的命令
mvn checkstyle:help 查看帮助
mvn checkstyle:check 查看工程是否满足检查。如果不满足,检查失败,可以通过target/checkstyle-result.xml来查看
mvn checkstyle:checkstyle 查看工程是否满足检查。如果不满足,不会失败,可以通过target/site/checkstyle.html查看检查信息
mvn checkstyle:checkstyle-aggregate 检查工程是否满足检查。如果不满足,不会失败,可以通过target/site/checkstyle.html查看