Java 有没有办法将JAXB插件配置为附加;获得;对于布尔getter方法,而不是;是";
我在我的项目中使用了下面提到的Java 有没有办法将JAXB插件配置为附加;获得;对于布尔getter方法,而不是;是";,java,jaxb,maven-3,maven-jaxb2-plugin,Java,Jaxb,Maven 3,Maven Jaxb2 Plugin,我在我的项目中使用了下面提到的JAXB插件 <groupId>com.sun.tools.xjc.maven2</groupId> <artifactId>maven-jaxb-plugin</artifactId> <version>1.1.1</version> 有些代码不是由我们的团队维护的,所以更改调用代码不是我们的事。请建议是否有办法配置此插件,以便它按照我们的预期为boolean生成getter 提前谢谢 下面
JAXB
插件
<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
<version>1.1.1</version>
有些代码不是由我们的团队维护的,所以更改调用代码不是我们的事。请建议是否有办法配置此插件,以便它按照我们的预期为boolean
生成getter
提前谢谢
下面是pom.xml中的JAXB插件配置
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>kyc</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<!-- Added for generating getter for boolean element in XSDs with prefix "get" starts-->
<enableIntrospection>true</enableIntrospection>
<!-- Added for generating getter for boolean element in XSDs with prefix "get" ends-->
<generatePackage>XXX.XXX.APackage</generatePackage>
<schemaDirectory>src/main/resources/XXX/</schemaDirectory>
<generateDirectory>${project.build.directory}/generated-sources/XXX/generateDirectory>
<verbose>true</verbose>
</configuration>
</execution>
</executions>
</plugin>
org.jvnet.jaxb2.maven2
maven-jaxb2-plugin
0.12.3
kyc
生成源
生成
真的
三十、 XXX.A包装
src/main/resources/XXX/
${project.build.directory}/generatedsources/XXX/generateddirectory>
真的
在做了这个更改之后,我仍然得到布尔类型的“is”附加属性名。您可以在maven插件中使用
启用内省
选项
生成的类
public Boolean getFlag(){
请参见此处:@Developer文档说明“如果为true,则允许正确生成布尔getter/setter以启用Bean内省API。自0.9.0起”我明白了。我想说的是,使用true
可以满足您的需要。我更新了我的答案。@Developer我在下面的${project.build.directory}行中只发现了一个打字错误问题/生成的源代码/XXX/generateDirectory>
,因为缺少关闭标记。我尝试了您的配置,效果很好,它正在生成get
而不是is
。
Generated Expected
boolean isFileCreated() boolean getFileCreated()
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>kyc</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<!-- Added for generating getter for boolean element in XSDs with prefix "get" starts-->
<enableIntrospection>true</enableIntrospection>
<!-- Added for generating getter for boolean element in XSDs with prefix "get" ends-->
<generatePackage>XXX.XXX.APackage</generatePackage>
<schemaDirectory>src/main/resources/XXX/</schemaDirectory>
<generateDirectory>${project.build.directory}/generated-sources/XXX/generateDirectory>
<verbose>true</verbose>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>xjc1</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<args>
<arg>-Xannotate</arg>
<arg>-nv</arg>
<arg>-Xnamespace-prefix</arg>
</args>
<extension>true</extension>
<schemas>
<schema>
<fileset>
<directory>${basedir}/src/main/resources/schema</directory>
<includes>
<include>*.xsd</include>
</includes>
</fileset>
</schema>
</schemas>
<enableIntrospection>true</enableIntrospection>
<debug>true</debug>
<verbose>true</verbose>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.6.0</version>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-annotate</artifactId>
<version>0.6.0</version>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-namespace-prefix</artifactId>
<version>1.1</version>
</plugin>
</plugins>
</configuration>
</execution>
</executions>
</plugin>
<enableIntrospection>false</enableIntrospection>
<enableIntrospection>true</enableIntrospection>