1

我的 Maven 项目有一堆像这样的子项目:

proj/
  projEAR/
  projCommon/

如何编译和构建 EAR 项目 + 将其同时部署到我的 Web 服务器?

我现在的做法是:

proj$ mvn clean install
[... builds everything ... ]
proj$ cd projEAR
projEAR$ mvn weblogic:deploy
[... deploys the EAR file ... ]

我想用一个命令来做到这一点。就像是

proj$ mvn clean install projEAR/pom.xml weblogic:deploy

这当然失败了,但我希望你明白......

更新: 这一切的原因是詹金斯只接受一个 pom 文件和命令。所以问题实际上是如何配置 Jenkins 来运行 Maven 两次。

4

3 回答 3

3

Jenkins 的 weblogic-deployer-plugin 怎么样。它会将您的 ear 文件部署到 weblogic 实例。请参阅WebLogic 部署程序插件

于 2012-11-01T13:21:39.363 回答
1

快速简便的解决方法

作为一种解决方法,我可以建议您使用一些 Jenkins 的插件,例如"M2 Extra Steps"。它允许您在之前或之后执行额外的操作。它们通常在构建之后用于执行诸如生成文档或部署某些东西之类的事情。

我知道这很好用......因为我经常使用这个技巧:)

建议,没试过

此刻,我没有一个直接的答案。我真的不知道如何只用一个 Maven 命令来做到这一点。我会尝试附加 weblogic 部署阶段进行安装。

ear 子模块--> pom.xml

<build>
    [...]
    <plugins>
        [...]

        <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>weblogic-maven-plugin</artifactId>
           <version>2.9.1</version>
           <executions>
             <execution>
               <configuration>
                    [...]
               </configuration>
               <goals>
                 <goal>install</goal>
               </goals>
             </execution>
           </executions>
         </plugin>
     [...]
    <plugins>        
    [...]
<build>

它应该可以工作,但再一次,我从未尝试过。

不要犹豫,给予反馈

于 2012-09-19T13:03:35.450 回答
0

我无法让它与 Maven 一起工作。但我解决它的方式(在詹金斯)是

  1. 使用父 pom的命令在 Jenkins 中创建预构建步骤:proj/pom.xmlmvn clean install
  2. 将主构建配置为weblogic:deploy使用 projEAR/pom.xml。

这会导致运行两个命令:首先mvn clean installmvn weblogic:deploy.

于 2012-09-20T13:12:23.797 回答