2

我的 pom.xml 中有一个部分

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <configuration>
      <pomFile>./lib/pom.xml</pomFile>
      <file>./lib/wls-maven-plugin.jar</file>
    </configuration>
    <executions>
       <execution> 
        <phase>install</phase>
            <goals>
              <goal>install-file</goal>
            </goals>
       </execution>
     </executions>

我想将 Weblogic 插件安装到我的本地存储库的位置。请注意,我表示我希望在安装阶段完成此操作。然后我想在打包和部署阶段使用这个插件。但是,当我尝试运行mvn install包阶段时,也会调用,并且我收到错误,因为我的 weblogic 插件尚未安装。那么为什么会这样呢?我希望我的插件先安装然后再使用。对不起英语不好。

4

3 回答 3

2

Maven 构建生命周期由一系列阶段组成。当您执行某个阶段时,生命周期中在它之前的所有阶段将按顺序调用,直到您调用的阶段。默认的构建生命周期从阶段开始,到validate阶段结束deploy,在这两者之间,package阶段在install.

更多信息可以在这里获得。

于 2014-06-16T19:02:59.110 回答
2

install目标告诉 Maven安装由相关项目或模块生成的工件。Maven 必须将它们打包到 jar 或其他合适的工件中才能安装任何东西。

你真的不应该像这样手动玩弄插件。相反,您应该在该 Weblogic 插件上声明一个适当的 Maven 依赖项,如果它实际上是必要的。

于 2014-06-16T19:05:31.773 回答
1

package phase 在 maven 的生命周期中调用 before install,因此如果您要求调用特定阶段,它会默认调用该阶段之前的所有阶段

跳过包阶段实际上是不运行绑定在包阶段运行的插件(通常是 jar 插件),您可以找到所有这些插件mvn help:effective-pom,然后创建另一个构建配置文件并跳过它们的执行

于 2014-06-16T18:59:43.013 回答