我有一个项目预计会提供一个 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>
但是当我想在现有罐子上应用阴影:阴影时,我收到错误
项目主要工件不存在。
我假设 Maven 不知道我的自定义工具创建的 .jar 文件。如何让它知道,因为antrun AttachArtifact http://maven.apache.org/plugins/maven-antrun-plugin/tasks/attachArtifact.html不起作用
<attachartifact file="./bin/classes.jar" classifier="" type="jar"/>
我得到的错误是
发生 Ant BuildException:org.apache.maven.artifact.InvalidArtifactRTException:对于工件 {:jar}:附加工件必须具有与其对应的主工件不同的 ID。
所以这不是注册主要工件的方法...有没有(无需编写自定义java插件)?
谢谢,
卢卡斯
我检查了 JarMojo 的源代码,它给了我一个如何用 Groovy 解决它的想法(通过 gmaven)
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>set-main-artifact</id>
<phase>package</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
project.artifact.setFile(new File("./bin/classes.jar"))
</source>
</configuration>
</execution>
</executions>
</plugin>
它有效!:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)