【发布时间】:2016-02-09 12:57:32
【问题描述】:
最终我生成了一些带有显式mvn generate-sources 的Java 代码,它调用pom.xml 中定义的CXF 插件。
问:如何配置插件,让它在我显式调用时运行,否则不运行?
如果我将phase 设置为generate-sources,则mvn generate-sources 有效,但mvn compile 也会触发它(这是不需要的)。
如果我将phase 设置为none,那么mvn generate-sources 什么都不做(不需要),但mvn compile 不会触发它(好的)。
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<!--<phase>none</phase>-->
【问题讨论】:
-
你为什么要这样做?这很奇怪。要
compile您的代码,您必须首先生成源代码。 -
在
mvn compile处重新生成代码有什么问题?通常整个构建过程都需要生成的代码,然后调用generate-sources很有用。 -
如果您想在构建生命周期之外运行插件,您可以尝试: 1. 将阶段设置为无; 2.
mvn cxf-codegen-plugin:<the-goal-name> -
试过
mvn org.apache.cxf:cxf-codegen-plugin:wsdl2java- “没有什么可以生成”我被告知。 -
@PavelVlasov 这可能是因为您的配置在执行中,而不是作为命令行执行的通用配置。顺便问一下,您使用的是哪个版本的 Maven?
标签: java maven maven-3 pom.xml maven-plugin