【转】Maven常用插件使用说明之deploy

本文介绍了如何使用Maven的deploy插件将构建产物自动发布到Nexus服务器的方法。包括配置POM文件、调整Nexus仓库策略、设置settings.xml文件等步骤,并提供了发布第三方依赖库或独立Jar包的具体命令。
[size=large]文字转载自:[url]http://blog.youkuaiyun.com/gztly/article/details/6019586[/url]

Maven的deploy插件用于把Maven自动构建生成的版本发布到中央代理仓库如Nexus服务器上,也能把第三方依赖库(如Jar包)或一个独立的Jar包直接发布到中央代理仓库供大家共享使用。下面介绍deploy插件的具体用法。假设Nexus服务器已成功安装,Nexus控制台URL为http://10.86.10.93:18081/nexus

1、自动构建并发布到Nexus服务器(假设发布仓库为releases)

1)修改工程POM文件,增加以下内容:

<distributionManagement>
<repository>
[color=blue]<id>nexus-releases</id>[/color]
<name>Nexus Realeases Repository</name>
<url>http://10.86.10.93:18081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
[color=green]<id>nexus-snapshots</id>[/color]
<name>Nexus Snapshots Repository</name>
<url>http://10.86.10.93:18081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>

[color=red]其中url对应Nexus服务器的Releases仓库路径,repository的id必须与第3)点中的server的id一致。用于发布的仓库必须为Hosted类型。[/color]

2)修改Nexus服务器的Releases仓库属性。

进入Nexus控制台,用admin登录。点开“Views/Repositories”选“Repositories”,在Repositories列表中选择Releases,点configuration,Deployment Policy默认为“Disable Redeploy”,点击修改为“Allow Redeploy”并保存。

3)修改用户目录下的settings.xml文件。

settings.xml文件路径为${user.home}/.m2或%{m2_home}/conf/。Windows7系统目录为C:/Users/用户名/.m2。

找到<servers>,然后修改信息如下:
<servers>
<server>
[color=blue]<id>nexus-releases</id> [/color]
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
[color=green]<id>nexus-snapshots</id> [/color]
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>

[color=red]注意:server的id必须和第1)点中的repository的id一致。[/color]

4)重新设定用户deployment的密码。

进入Nexus控制台,点开Security选Users,在用户列表中右键点击deployment用户,选Set Password重新设定deployment的密码为“deployment123”,当然也可设置为其他,只要与第3)点server配置一致即可。

5)在工程主目录下(POM文件所在目录)运行“mvn deploy:deploy”即能实现版本的构建和发布。



2、发布第三方依赖库或独立Jar包(假设发布仓库为releases,发布Jar包为test.jar)

1)按第1点中的第2)、3)、4)点进行配置。然后进入到test.jar所在目录。

2)执行“mvn deploy:deploy-file -DgroupId=com.test -DartifactId=test -Dversion=1.0 -Dpackaging=jar -Dfile=test.jar -Durl=http://10.86.10.93:18081/nexus/content/repositories/releases -DrepositoryId=releases”即可。

说明:deploy:deploy-file表示发布独立的文件。

groupId、artifactId和version可根据需要设定。

url为Nexus服务器releases仓库路径。

repositoryId与第1点第3)点中的server的id必须一致。

3)顺便说一下,发布独立的Jar包也可在Nexus控制台中实现。在Repositories列表中选择Releases,点Artifact Upload,指定GAV Definition为“GAV Parameters”,然后输入相应的groupId、artifactId和version、Packaging,再点击“Select Artifact(s) to Upload...”选择指定的Jar文件,最后点“Upload Artifact(s)”即可。[/size]
### Maven常用插件及其功能 #### 1. **maven-clean-plugin** 该插件负责清理项目中的构建输出目录(通常是`target`目录)。它会在执行`mvn clean`命令时删除这些文件夹,从而确保旧的构建产物不会影响新版本的构建过程[^3]。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>3.2.0</version> </plugin> ``` --- #### 2. **maven-compiler-plugin** 此插件用于编译Java源代码。可以通过配置指定JDK版本和其他编译选项。它是Maven生命周期的一部分,在默认情况下会自动运行。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> ``` --- #### 3. **maven-surefire-plugin** 这是一个单元测试插件,支持JUnit和TestNG框架。它可以运行项目中的测试类并生成测试报告。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M7</version> </plugin> ``` --- #### 4. **maven-jar-plugin** 当项目需要被打包成标准的JAR文件时,可以使用这个插件。还可以通过其配置自定义`MANIFEST.MF`文件的内容[^2]。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.2</version> <configuration> <archive> <manifest> <mainClass>life.cqq.commonlyUsedPlugin.JarMainClass</mainClass> </manifest> </archive> </configuration> </plugin> ``` --- #### 5. **maven-war-plugin** 对于Web应用程序开发而言,此插件可将项目打包为WAR文件以便部署到Servlet容器中。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> </plugin> ``` --- #### 6. **maven-deploy-plugin** 该插件用于将构建好的工件(如JAR或WAR文件)上传至远程仓库供其他模块依赖使用。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>3.0.0</version> </plugin> ``` --- #### 7. **maven-site-plugin** 提供站点文档生成功能,允许开发者创建包含API文档、项目信息等内容的静态网站。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.9.1</version> </plugin> ``` --- #### 8. **maven-install-plugin** 安装本地构建的构件到本地Maven仓库中,方便后续作为依赖被引入其他工程。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>3.0.0-M1</version> </plugin> ``` --- #### 9. **maven-dependency-plugin** 帮助管理和操作项目的依赖关系,比如复制依赖库或将它们解压到特定位置。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> </plugin> ``` --- #### 10. **maven-release-plugin** 自动化发布流程的一个重要工具,可用于准备、提交和完成软件版本的正式发行工作流。 ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>3.0.0-M5</version> </plugin> ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值