gpt4 book ai didi

java - 有没有办法配置 JAXB 插件为 boolean getter 方法附加 "get"而不是 "is"

转载 作者:搜寻专家 更新时间:2023-11-01 02:59:36 25 4
gpt4 key购买 nike

我在我的项目中使用了下面提到的 JAXB 插件

<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
<version>1.1.1</version>

为 boolean 元素附加“get”。但是在迁移到新插件时

<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>

我得到"is"到 boolean 类型元素的 getter 方法。但是代码需要旧签名。例如

假设,我们有以下 boolean 类型的元素。

a) 文件已创建。

New Plugin 在 Generated 列下生成了以下方法签名。我在 Expected 列下列出了预期的方法。

       Generated                           Expected
boolean isFileCreated() boolean getFileCreated()

有些代码不是由我们团队维护的,因此更改调用代码不在我们手中。请建议是否有一种方法可以配置此插件,以便它像我们期望的那样为 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>

进行此更改后,我仍然得到"is" boolean 类型的附加属性名称。

最佳答案

你可以使用 enableIntrospection Maven插件中的选项。 See Here

<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>

使用元素 <xs:element minOccurs="0" name="flag" type="xs:boolean" />

<enableIntrospection>false</enableIntrospection>

生成类 public Boolean isFlag() {

代替

<enableIntrospection>true</enableIntrospection>

生成类 public Boolean getFlag() {

关于java - 有没有办法配置 JAXB 插件为 boolean getter 方法附加 "get"而不是 "is",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39330534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com