我使用的Maven插件组装打包一个jar文件。 但是当我运行mvn package
,行家始终触发[罐子:罐子{执行命令default-JAR}]创建一个默认的jar文件。 所以我将有2个jar文件(一个由组件插件创建和一个Maven的罐子,我不希望创建创建)。 我如何关闭执行:默认罐子。
在我的pom.xml,我使用: <packaging>jar</packaging>
。 我不希望将其改变为<packaging>pom</packaging>
。
我使用的Maven插件组装打包一个jar文件。 但是当我运行mvn package
,行家始终触发[罐子:罐子{执行命令default-JAR}]创建一个默认的jar文件。 所以我将有2个jar文件(一个由组件插件创建和一个Maven的罐子,我不希望创建创建)。 我如何关闭执行:默认罐子。
在我的pom.xml,我使用: <packaging>jar</packaging>
。 我不希望将其改变为<packaging>pom</packaging>
。
(...),所以我将有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
)。 但当然,这是一个黑客。
虽然没有直接回答这个问题,您可以排除使用Maven的罐子中创建的JAR <useProjectArtifact>false</useProjectArtifact>