Mus*_*que 1 maven-3 maven maven-jar-plugin
如果所有类都是最新的" Nothing to compile - all classes are up to date"那么maven会再次创建jar吗?
正如我在日志中看到的那样,jar不再创建.所以maven知道所有课程都是最新的.
问题:是否有任何流程或其他事情可以解决这个问题?
在Maven的Jar插件将通过它创建了一个JAR jar如果不存在,或者如果存在,但没有改变跳过它的创作目的.
您可以通过其选项强制创建jar forceCreation(从2.2版开始).从官方文件:
即使没有任何内容似乎已更改,也需要jar插件来构建新的JAR.默认情况下,此插件会查看输出jar是否存在且输入是否未更改.如果这些条件为真,则插件会跳过jar的创建.当其他插件(如maven-shade-plugin)配置为对jar进行后处理时,这不起作用.此插件无法检测后处理,因此将后处理的jar留在原位.当这些插件不希望找到自己的输出作为输入时,这可能导致失败.将此参数设置为true可以通过强制此插件每次都重新创建jar来避免这些问题.
它的默认值为at false,这解释了您的行为.
如果你想永远强制它,你可以添加到你的pom文件:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<forceCreation>true</forceCreation>
</configuration>
...
</plugin>
</plugins>
</build>
...
</project>
Run Code Online (Sandbox Code Playgroud)
或者只在一个构建上,调用它如下:
mvn package -Djar.forceCreation=true
Run Code Online (Sandbox Code Playgroud)
那么,回到你的问题:
是否有任何过程或其他事情可以解决这个问题?
答案是:是的,Maven Jar插件适用于此,上面的选项将改变其行为.
| 归档时间: |
|
| 查看次数: |
1743 次 |
| 最近记录: |