从snapshot-repository下载WAR并使用mvn部署到本地JBoss

Tho*_*hor 5 java deployment jboss maven

目前我部署我warjboss:hard-deploy我的JBoss AS 6.这很好,但我必须从SVN签出项目并打包它.

war已经上传到我们詹金斯内部的快照库,这将是很好,如果我可以从该库下载测试服务器上,并直接使用maven其部署到JBoss.

这个问题与从存储库到远程服务器的Maven部署工件之争有关,但我不认为答案是正确的(参见那里的评论).

ori*_*ien 7

理想情况下,您希望将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>
Run Code Online (Sandbox Code Playgroud)

替换WAR文件的相应属性的组ID,工件ID和版本.接下来配置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>
Run Code Online (Sandbox Code Playgroud)

然后,您应该能够从内部存储库下载工件,并使用以下命令将其部署在本地运行的JBoss容器中:

mvn package jboss:hard-deploy
Run Code Online (Sandbox Code Playgroud)