Luk*_*ski 11 jar maven gmaven-plugin maven-antrun-plugin
我有一个项目希望提供一个jar文件:
<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)
但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>
Run Code Online (Sandbox Code Playgroud)
但是当我想要应用阴影时:在现有的罐子上涂上阴影我会收到错误
项目主要工件不存在.
我假设maven不知道我的自定义工具创建的.jar文件.如何让它知道,因为antrun attachArtifact不起作用
<attachartifact file="./bin/classes.jar" classifier="" type="jar"/>
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
发生了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>
Run Code Online (Sandbox Code Playgroud)
它有效!:)
| 归档时间: |
|
| 查看次数: |
5172 次 |
| 最近记录: |