如何更改从XSD(JAXB)生成Java的默认目录
我有一个manve项目,我正在使用JAXB2插件从XSD模式生成java类。默认情况下,类在目标文件夹中生成,但我需要在src/main/java文件夹中生成 我尝试添加line属性generateDirectory。这些类是在我想要的地方生成的,但是我不能在其他地方导入它们 以下是我的pom.xml:如何更改从XSD(JAXB)生成Java的默认目录,java,xml,xsd,jaxb,maven-jaxb2-plugin,Java,Xml,Xsd,Jaxb,Maven Jaxb2 Plugin,我有一个manve项目,我正在使用JAXB2插件从XSD模式生成java类。默认情况下,类在目标文件夹中生成,但我需要在src/main/java文件夹中生成 我尝试添加line属性generateDirectory。这些类是在我想要的地方生成的,但是我不能在其他地方导入它们 以下是我的pom.xml: <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.13.1</version>
<configuration>
<schemaDirectory>src/main/resources/schemas</schemaDirectory>
<generateDirectory>src/main/java/com/evol/foo/generated-bar-sources</generateDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
我正在使用IntellijComunity和Java8。
我做错了什么?我认为应该使用
generatePackage
在generateDirectory
之外声明包:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.13.1</version>
<configuration>
<schemaDirectory>src/main/resources/schemas</schemaDirectory>
<generateDirectory>src/main/java</generateDirectory>
<generatePackage>com.evol.foo.generated-bar-sources</generatePackage>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
org.jvnet.jaxb2.maven2
maven-jaxb2-plugin
0.13.1
src/main/resources/schemas
src/main/java
com.evol.foo.generated-bar-sources
生成
在生成的Java类中检查包声明。我怀疑这仍然是默认的。虽然我从未使用过jaxb maven插件,但当我使用命令行工具生成类时,我必须同时指定目标目录和目标包名称。在编译阶段之前,尝试显式执行插件目标。例如,maven clean org.jvnet.jaxb2.maven2:generate compile
。或者通过在
标签中添加compile
,尝试将插件的目标绑定到构建阶段compile
!
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.13.1</version>
<configuration>
<schemaDirectory>src/main/resources/schemas</schemaDirectory>
<generateDirectory>src/main/java</generateDirectory>
<generatePackage>com.evol.foo.generated-bar-sources</generatePackage>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>