从快照存储库下载 WAR 并使用 mvn 部署到本地 JBoss
Posted
技术标签:
【中文标题】从快照存储库下载 WAR 并使用 mvn 部署到本地 JBoss【英文标题】:Download WAR from snapshot-repository and deploy to local JBoss using mvn 【发布时间】:2012-01-07 18:54:47 【问题描述】:目前我将war
和jboss:hard-deploy
部署到我的JBoss 6 AS。这工作正常,但我必须从 SVN 签出项目并将其打包。
war
已由 Jenkins 上传到我们的内部快照存储库,如果我可以从该存储库将其下载到测试服务器上并使用 maven 直接将其部署到 JBoss,那就太好了。
这个问题与Maven deploy artifact war from repository to remote server有关,但我认为答案不正确(见那里的评论)。
【问题讨论】:
【参考方案1】:理想情况下,您希望将 Jenkins 设置为作为 CI 构建的一部分部署到您的测试服务器。
或者,如果您想在要部署到的服务器上手动运行脚本,您可以设置特定的pom.xml
来执行此任务。首先设置依赖插件来下载你的战争:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>my-group</groupId>
<artifactId>my-web-archive</artifactId>
<version>my-vesion</version>
<type>war</type>
<destFileName>my-web-archive.war</destFileName>
</artifactItem>
</artifactItems>
<outputDirectory>$project.build.directory</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
用组 ID、工件 ID 和版本替换 WAR 文件的相应属性。接下来配置JBoss插件部署下载的WAR:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jboss-maven-plugin</artifactId>
<version>1.5.0</version>
<configuration>
<jbossHome>/opt/jboss-6</jbossHome>
<serverName>all</serverName>
<fileName>$project.build.directory/my-web-archive.war</fileName>
</configuration>
</plugin>
然后您应该能够从您的内部存储库中下载工件,并使用以下命令将其部署到本地运行的 JBoss 容器中:
mvn package jboss:hard-deploy
【讨论】:
以上是关于从快照存储库下载 WAR 并使用 mvn 部署到本地 JBoss的主要内容,如果未能解决你的问题,请参考以下文章