我有一个项目预计会提供一个 jar 文件:
<packaging>jar</packaging>
但是 jar 是以自定义方式构建的,因此使用 jar:jar 完成的默认打包已被禁用
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>default-jar</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
但是当我想在现有 jar 上应用 shade:shade 时出现错误
项目主工件不存在。
我假设 maven 不知道我的自定义工具创建的 .jar 文件。如何让它知道,因为antrun attachArtifact不起作用
<attachartifact file="./bin/classes.jar" classifier="" type="jar"/>
我得到的错误是
发生 Ant BuildException:org.apache.maven.artifact.InvalidArtifactRTException:对于工件 {:jar}:附加工件的 ID 必须与其对应的主工件不同。
所以这不是注册主要工件的方法......有没有(不编写自定义java插件)?
谢谢,卢卡斯