Xed*_*don 4 java jaxb maven-plugin jaxb2-annotate-plugin
我想在生成“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>
Run Code Online (Sandbox Code Playgroud)
我的 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>
Run Code Online (Sandbox Code Playgroud)
我尝试了在 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 插件是如何在jaxb2-maven-plugin.
也使用较新的版本。您正在尝试使用 Java 语法,这是一个相当新的发展。请使用实际版本jaxb2-annotate-plugin(当前为1.0.1)。
这是一个测试项目供参考:
您的自定义看起来不错,三个中的任何一个都应该可以工作。
免责声明:jaxb2-annotate-plugin我是和的作者maven-jaxb2-plugin。
| 归档时间: |
|
| 查看次数: |
9009 次 |
| 最近记录: |