禁止执行:默认-JAR禁止执行:默认-JAR(disable the execution: defa

2019-05-12 04:35发布

我使用的Maven插件组装打包一个jar文件。 但是当我运行mvn package ,行家始终触发[罐子:罐子{执行命令default-JAR}]创建一个默认的jar文件。 所以我将有2个jar文件(一个由组件插件创建和一个Maven的罐子,我不希望创建创建)。 我如何关闭执行:默认罐子。

在我的pom.xml,我使用: <packaging>jar</packaging> 。 我不希望将其改变为<packaging>pom</packaging>

Answer 1:

(...),所以我将有2个jar文件(一个由组件插件创建和一个Maven的罐子,我不希望创建创建)。

看起来你正在做的相当复杂的事情。 也许Maven是不是在你的情况下正确的工具。

我如何关闭执行:默认罐子。

您可以设置<phase>相应的执行到了未知的东西,像none

  <plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
      <execution>
        <id>default-jar</id>
        <phase>none</phase>
      </execution>
    </executions>
  </plugin>
  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
    <executions>
      <execution>
        <id>make-assembly</id>
        <!-- this is used for inheritance merges -->
        <phase>package</phase>
        <!-- append to the packaging phase. -->
        <goals>
          <goal>single</goal>
          <!-- goals == mojos -->
        </goals>
      </execution>
    </executions>
  </plugin>

这似乎只要你提供别的东西来安装,像一个组件(我只测试工作install )。 但当然,这是一个黑客。



Answer 2:

虽然没有直接回答这个问题,您可以排除使用Maven的罐子中创建的JAR <useProjectArtifact>false</useProjectArtifact>



文章来源: disable the execution: default-jar