目前我使用jboss:hard-deploy
将我的war
部署到我的JBoss 6 AS。这工作正常,但我必须从 SVN check out 项目并将其打包。
war
已由 Jenkins 上传到我们的内部快照存储库,如果我可以从该存储库将其下载到测试服务器上并使用 maven 直接将其部署到 JBoss,那就太好了。
这个问题与Maven deploy artifact war from repository to remote server有关,但我认为答案不正确(请参阅此处的评论)。
最佳答案
理想情况下,您希望将 Jenkins 设置为作为 CI 构建的一部分部署到您的测试服务器。
或者,如果您想在要部署到的服务器上手动运行脚本,您可以设置特定的 pom.xml
来执行此任务。首先设置依赖插件来下载你的 war :
<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、 Artifact 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>
然后您应该能够从内部存储库下载 Artifact 并使用以下命令将其部署到本地运行的 JBoss 容器中:
mvn package jboss:hard-deploy
关于java - 从 snapshot-repository 下载 WAR 并使用 mvn 部署到本地 JBoss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293741/