为了从XSD生成java类(用于读取XML文件),我们使用了jaxb2-maven-plugin和Java8。
对于java 11,我们有很多问题.
哪些库和插件可以工作(现在),允许使用java 11和maven从XSD生成java代码?如果可能的话,指出不同的解决方案,例如使用cxf-xjc-plugin、jaxb2-Maven-Plugin等。
发布于 2019-03-01 22:47:31
我刚刚调查了同样的话题。Java11的最佳方法是使用cxf-xjc-plugin.是个Maven插件。没有其他Maven插件能够在Java 11下工作而没有烦人的解决方案。
我在这里用cxf-xjc-plugin发布了一个完整的示例:https://artofcode.wordpress.com/2019/02/28/generating-classes-from-xsd-under-java-11-the-right-way/
发布于 2022-04-19 23:47:21
我能够让Jaxb2-maven-plugin使用Java 11。默认情况下,生成的类将在生成的类包中创建。我唯一的抱怨是它没有实现toString方法。如果我搞清楚了我会更新这个的。
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.5.0</version>
</dependency>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.5.0</version>
<executions>
<execution>
<id>xjc-foo</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<sourceType>wsdl</sourceType>
<sources>
<!-- if you put path only, it will read any wsdl or xsd file -->
<!-- if you have xsd that is imported in wsdl, then make sure you point it wsdl file -->
<source>${project.basedir}/src/main/resources/schemas/foo.wsdl</source>
</sources>
<clearOutputDir>false</clearOutputDir>
<packageName>foo</packageName>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation.api</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
</plugin>https://stackoverflow.com/questions/54305193
复制相似问题