gpt4 book ai didi

java - jaxb2-annotate-plugin 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:42 25 4
gpt4 key购买 nike

我想在生成“Doc”类之前生成“@java.lang.SuppressWarnings("all")”。

问题:jaxb2-annotate-plugin 不生成注释。

我的 pom.xml:

...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>xjc</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<extension>true</extension>
<arguments>-Xannotate</arguments>
<args>
<arg>-Xannotate</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-annotate</artifactId>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-annotate-plugin-test-annox-annotations</artifactId>
</plugin>
</plugins>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-annotate</artifactId>
<version>0.6.4</version>
</dependency>
<dependency>
<groupId>com.sun.codemodel</groupId>
<artifactId>codemodel</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-annotate</artifactId>
<version>0.6.4</version>
</dependency>
<dependency>
<groupId>com.sun.codemodel</groupId>
<artifactId>codemodel</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb-api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>${jaxb.version}</version>
</dependency>
</dependencies>

<properties>
<jaxb.version>2.2.5-2</jaxb.version>
<jaxb-api.version>2.1</jaxb-api.version>
</properties>

我的 XSD:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="..."
targetNamespace="..." elementFormDefault="qualified"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:annox="http://annox.dev.java.net"
jaxb:version="2.1" jaxb:extensionBindingPrefixes="annox">
<xs:element name="Doc">
<xs:complexType>
<xs:annotation>
<xs:appinfo>
<annox:annotate>@java.lang.SuppressWarnings("all")</annox:annotate>
<annox:annotateClass>@java.lang.SuppressWarnings("all")
</annox:annotateClass>
<annox:annotate target="class">@java.lang.SuppressWarnings("all")
</annox:annotate>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element ref="info" />
</xs:sequence>
</xs:complexType>
</xs:element>

我尝试了所有三种方法来在 Doc 类之前生成“@java.lang.SuppressWarnings("all")”

最佳答案

我认为该插件未激活。您正在使用 jaxb2-maven-plugin 并使用 configuration/plugins/plugin 来配置 jaxb2-annotate-plugin。问题是,plugins/plugin 是我的 maven-jaxb2-plugin 的配置选项,而不是 Codehaus jaxb2-maven-plugin

尝试切换到 maven-jaxb2-plugin 或找出如何在 jaxb2-maven-plugin 中激活 JAXB2 插件。

也使用较新的版本。您正在尝试使用 Java 语法,这是最近的发展。请使用jaxb2-annotate-plugin的实际版本(当前为1.0.1)。

这里给出其中一个测试项目供引用:

您的自定义设置看起来不错,三者中的任何一个都应该有效。

免责声明:我是 jaxb2-annotate-pluginmaven-jaxb2-plugin 的作者。

关于java - jaxb2-annotate-plugin 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28767044/

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