1.编写pom文件如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
</build>
1个release插件1个deploy插件
2.在Nexus中设置用户名和密码
<server>
<id>ci-release</id>
<username>用户名</username>
<password>密码</password>
</server>
<server>
<id>ci-snapshot</id>
<username>用户名</username>
<password>密码</password>
</server>
3.打包管理
<distributionManagement>
<repository>
<id>ci-release</id>
<name>Internal Releases</name>
<url>http://ip地址:端口/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>ci-snapshot</id>
<name>Internal Snapshots</name>
<url>http://192.168.156.138:8088/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
4.设置SVN(scm标签设置SVN、CVS保存地址)
<scm>
<connection>scm:svn:https://IP地址:端口/svn/PSPlatForm_BS/trunk/bj-gbplatform</connection>
<developerConnection>scm:svn:https://IP:端口/svn/PSPlatForm_BS/trunk/bj-gbplatform</developerConnection>
<url>https://192.168.152.88:端口/svn/PSPlatForm_BS/trunk/bj-gbplatform</url>
</scm>
5.以来war包导入(公共代码)依赖时候使用
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<outputDirectory>${dir.tomcat.deploy}</outputDirectory>
<warName>gb-monitor</warName>
<overlays>
<overlay>
<skip>${common.web.overlay.skip}</skip>
<groupId>com.ibs.gbplatform.common.core</groupId>
<artifactId>gbplatform-common-web</artifactId>
<excludes>
<exclude>**/web.xml</exclude>
<exclude>**/WEB-INF/lib/**</exclude>
<exclude>**/GBApp/**</exclude>
<exclude>**/MyDesktop/**</exclude>
<exclude>**/MCApp/**</exclude>
<exclude>**/ibssig*/**</exclude>
</excludes>
</overlay>
</overlays>
</configuration>
</plugin>
6.在pom.xml 中右键Run As→Maven Build运行clean install deploy 打包到Nexus上(修改Ip地址打包不同私服和服务器)
7.Maven的发布版本
在cmd命令下到项目目录下使用mvn release:prepare命令( maven-release-plugin)
详细请看Maven的发布Mvn-release-plugin命令
8.打包发布成功!
9.Maven的常用命令收集
Maven常用命令:
1. 创建Maven的普通java项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 创建Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 产生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安装jar:mvn install
9. 清除产生的项目:mvn clean
10. 生成eclipse项目:mvn eclipse:eclipse
11. 生成idea项目:mvn idea:idea
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package
13. 编译测试的内容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
( -skipping 的灵活运用,当然也可以用于其他组合命令)
16. 清除eclipse的一些系统设置:mvn eclipse:clean
maven使用命令上传jar包到私服
公司里面有自己的公共代码库,如果希望交给Maven进行管理,可以搭建Nexus服务器,将公司的公共代码库的代码打成jar包,然后上传到Nexus私服服务器上,项目组的成员就可以在Maven项目中通过添加依赖的方式把公司公共库的jar包给关联到项目中.
在Nexus2的版本中是提供了服务器端可视化界面支持上传第三方Jar包的,但是Nexus3的版本中好像已经把该功能给阉割了.只能手动的通过命令行的方式将第三方的Jar包导入到私服中.其实也不难,比起Nexus2来说稍显复杂些.具体步骤如下.
1.首先在Nexus服务器配置了存放第三方Jar包的本地仓库hosted,如果已经配置,直接跳到第2步,如果没有配置,按如下配置,
1.1登陆Nexus服务器,创建仓库 Create repository
1.2选择仓库类型,选择maven2(hosted),本地仓库:
1.3给仓库起个名字,然后点击最下面的(图中没显示)的Create repository 按钮
1.4保存之后,在点击进入这个本地仓库,拿到该本地仓库的地址:
http://localhost:8081/repository/3rd_part/ 待会后面执行命令的时候需要把localhost换成Nexus的服务器地址.
1.5去到仓库组maven-public中添加刚刚创建的本地仓库3rd_part:
接着将本地仓库3rd_part 加入到仓库组中:
到这一步就已经在Nexus服务器添加存放第三方Jar包的本地仓库
2.如下操作在项目组成员电脑操作都可以的.
找到.m2/setting.xml 或者 maven安装目录/conf/setting.xml 文件,找到里面的 <servers> 节点,添加如下配置:
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>
id:待会输入命令的时候需要用到
username:表示Nexus服务器的登陆账号
password:表示Nexus服务器的登陆密码2.打开CMD命令控制台,输入如下命令:
mvn deploy:deploy-file -DgroupId=com._520it -DartifactId=IKAnalyzer -Dversion=12012FF_u1 -Dpackaging=jar -Dfile=D:\test\IKAnalyzer2012FF_u1.jar -Durl=http://192.168.35.128:8081/repository/3rd_part/ -DrepositoryId=thirdparty
DgroupId、DartifactId、Dversion:构成了该jar包在pom.xml的坐标,自己起名字也是可以的.
Dpackaging:表示打包类型.
Dfile:表示需要上传的jar包的绝对路径.
Durl:私服上第三方仓库的地址,打开nexus——>repositories菜单,可以看到该路径。
DrepositoryId:服务器的表示id,就是我们在setting.xml文件中配置的serverId。
执行成功表示已经上传到Nexus私服了.
3.项目组成员就可以在自己项目中的pom.xml文件中添加如下的依赖:
<dependency>
<groupId>com._520it</groupId>
<artifactId>IKAnalyzer</artifactId>
<version>12012FF_u1</version>
</dependency>
该Jar包就自动的关联到项目中了.