问题描述
你能否详细解释一下jar和jar-no-fork目标之间的区别?
Could you give me a detail explanation about the difference between jar and jar-no-fork goal?
我是从官方网站看到的,但我无法得到一个明确的想法。
I see it from official site, but I can not get a clear idea for this.
推荐答案
我的解释: jar
目标意味着从命令行运行( mvn source:jar
), jar-no-fork
是指绑定到生命周期。
My interpretation: the jar
goal is meant to be run from the command line (mvn source:jar
), the jar-no-fork
is meant to be bound to the lifecycle.
If you look at the docs for the jar
goal the key phrase is "Invokes the execution of the lifecycle phase generate-sources prior to executing itself." If you configure your POM to run the source:jar
goal as part of the lifecycle, Maven will re-run all of the goals bound to generate-sources
and its predecessors. If you have many plugin goals bound to the validate or initialize phases all of those will run twice, lengthening the time of your build.
相比之下, jar-no-fork
是您附加到构建生命周期的内容,因为它希望受到约束到 generate-sources
之后的某个阶段,并且不会再次运行绑定目标。
In contrast, jar-no-fork
is what you attach to the build lifecycle because it expects to be bound to a phase somewhere after generate-sources
and will not run the bound goals again.
我已验证此行为通过使用 -X
运行Maven 3并查看运行的插件执行。
I have verified this behavior by running Maven 3 with -X
and reviewing the plugin executions that run.
这篇关于Maven源插件jar和jar-no-fork目标之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!