idi*_*ous 5 jaxb jaxb2 maven maven-jaxb2-plugin
我的pom看起来像
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generateDirectory>src/main/java</generateDirectory>
<schemaDirectory>src/main/resources/wsdl/</schemaDirectory>
<schemaIncludes>
<include>*.xsd</include>
<include>draw/*.xsd</include>
</schemaIncludes>
</configuration>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
当我这样做时,mvn clean package它是根据配置构建的。但是,一旦构建了它,我就不想每次都构建它,mvn clean package除非XSD已对其进行了某种修改。
我该如何实现?
此插件中为目标声明的默认阶段<goal>generate</goal>为generate-resources。参考Maven默认生命周期,您不能跳过各个阶段。mvn phase-x命令始终表示“运行所有阶段,直到包含x的阶段为止”。
您可能使用的选项是profile。因此,您可以使用或不使用资源来概要分析要构建的项目。
例:
<profiles>
<profile>
<id>GEN-RESOURCES</id>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generateDirectory>src/main/java</generateDirectory>
<schemaDirectory>src/main/resources/wsdl/</schemaDirectory>
<schemaIncludes>
<include>*.xsd</include>
<include>draw/*.xsd</include>
</schemaIncludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
激活配置文件使用-P
mvn clean package -PGEN-RESOURCES
Run Code Online (Sandbox Code Playgroud)
否则将不会生成任何东西,这里将解释Maven配置文件
我希望这有帮助。
免责声明:我是的作者maven-jaxb2-plugin。
首先,不要生成成src/main/java。
接下来,如果配置正确,则除非进行某些更改,否则插件将不会重新生成。该插件收集“源”和“目标”文件,并且仅在“源”文件的时间戳比“目标”文件的时间戳更新时才生成。
有关其工作原理的更多信息,请参见文档中的最新检查。
但是,这假设插件可以明确确定“源”文件和“目标”文件的时间戳。这就是为什么您应该将代码生成到target/generated-source/<dir>而不是in 中的原因之一src/main/java。
接下来,这绝对不工作mvn *clean* package的*clean*移除了target,因此target/generated-source/<dir>。因此,只要运行mvn package代替mvn clean package。
| 归档时间: |
|
| 查看次数: |
2669 次 |
| 最近记录: |