maven之deploy的两种方式

本文详细介绍了如何通过Maven插件将Java项目自动构建并发布到Nexus服务器,包括配置POM文件、设置Nexus仓库属性、管理用户权限等关键步骤。同时,还演示了发布第三方依赖库或独立Jar包的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.通过eclipse来部署

点击run运行即可


2. 通过maven命令来部署,转载自http://blog.youkuaiyun.com/gztly/article/details/6019586

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

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

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

  <distributionManagement>
   <repository>
    <id>releases</id>
    <name>Internal Releases</name>
    <url>http://199.3.5.164:8081/nexus/content/repositories/releases</url>
   </repository>
  </distributionManagement>

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

      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>
       <id>releases</id>
       <username>deployment</username>
       <password>deployment</password>
     </server>
 </servers>

注意:server的id必须和第1)点中的repository的id一致。用户名最好用deployment。

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

         进入Nexus控制台,点开Security选Users,在用户列表中右键点击deployment用户,选Set Password重新设定deployment的密码为“deployment”,当然也可设置为其他,只要与第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://199.3.5.164:8081/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)”即可。


<think>好的,我现在需要帮助用户解决关于如何在Maven Java Web项目中实现两种部署方法的问题。首先,我需要回顾用户提供的引用内容,尤其是引用[1]、[2][3],看看是否有相关的部署方法信息。 引用[1]提到了Maven项目处理工件下载的任务,可能与依赖管理有关,但直接相关的部署信息不多。引用[2]指出项目已准备好部署,并附属于Eclipse的Tomcat服务器插件启动,这可能涉及使用Maven插件部署到嵌入式Tomcat或外部Tomcat。引用[3]讨论JAX-RS注解,可能与Web服务配置有关,但部署方法关联不大。 接下来,我需要确定用户所需的两种部署方法。通常,Maven Java Web项目的部署方式包括:1)打包成WAR文件并部署到外部服务器;2)使用嵌入式服务器运行。或者,另一种可能是通过Maven插件直接部署到Tomcat,以及生成可执行的WAR包。 检查引用[2]提到的Eclipse的Tomcat插件,这可能对应第一种方法,即生成WAR文件并手动部署到Tomcat。第二种方法可能是使用Maven Tomcat插件(tomcat7-maven-plugin)进行热部署,或者使用Spring Boot内嵌Tomcat。 需要确保两种方法都通过Maven配置实现。第一种方法通常涉及maven-war-plugin打包,第二种可能使用tomcat7-maven-plugin或spring-boot-maven-plugin。 然后,我需要详细写出这两种方法的步骤,包括pom.xml的配置示例操作命令。例如,方法一:配置packaging为war,运行mvn package生成WAR,然后手动复制到Tomcat的webapps目录。方法二:配置tomcat7-maven-plugin,通过mvn tomcat7:deploy直接部署到运行的Tomcat实例。 同时,要确保回答结构清晰,分步骤说明,并验证每个步骤的正确性。可能还需要提醒用户关于Tomcat管理器应用的配置,如manager-script角色的用户设置,以便插件能够部署。 最后,生成相关问题,例如Maven多环境配置、自动化部署等,以帮助用户进一步探索。</think>### Maven Java Web项目两种部署方法 #### 方法一:WAR包手动部署(传统方式) 1. **配置`pom.xml`文件** 在`<packaging>`标签中声明为`war`格式,并添加`maven-war-plugin`插件: ```xml <packaging>war</packaging> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> </plugin> </plugins> </build> ``` 2. **生成WAR文件** 执行命令: ```bash mvn clean package ``` 生成的`target/*.war`文件可直接部署到Tomcat的`webapps`目录,Tomcat会自动解压并加载应用[^2] 3. **部署验证** 访问`http://localhost:8080/项目名/`即可验证部署结果 #### 方法二:Maven插件热部署(自动化方式) 1. **配置Tomcat插件** 在`pom.xml`中添加`tomcat7-maven-plugin`: ```xml <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <username>admin</username> <password>tomcat_password</password> </configuration> </plugin> ``` 2. **执行热部署命令** - 首次部署:`mvn tomcat7:deploy` - 更新部署:`mvn tomcat7:redeploy` - 停止服务:`mvn tomcat7:undeploy` 3. **注意事项** - 需在Tomcat的`conf/tomcat-users.xml`中添加权限: ```xml <role rolename="manager-script"/> <user username="admin" password="tomcat_password" roles="manager-script"/> ``` - Tomcat服务需提前启动 #### 对比说明 | 方法 | 优势 | 适用场景 | |----------|------------------------|--------------------| | WAR包部署 | 部署包可移植性强 | 生产环境、多服务器部署 | | 插件热部署 | 开发调试效率高,支持自动化持续集成 | 开发测试环境、快速迭代 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值