[英]Java Code generation from XSD/WSDL for Jakarta 4.0.0 using Maven Plugin
我已經浪費了很多天的時間試圖弄清楚,看起來很簡單的事情(從 WSDL/XSD 生成代碼)怎么會如此復雜。 有什么方法嗎? 我覺得我已經嘗試了所有這些,在不同的版本中使用不同的 jaxb 綁定和不同版本的實現
我嘗試使用以下插件:
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
沒有插件能夠輸出 jakarta 注釋並且總是失敗,因為一些 javax.xml 注釋或 com.sun.* 類丟失。 在這一點上,我正在考慮自己編寫一個插件,因為這很荒謬,我只需要一個帶有一些注釋的簡單 POJO,並且不想在 xsd 或 wsdl 更改時自己編寫它們。
你們有沒有使用過適用於 Jakarta 4 的方法?
試試這個:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
*
</parent>
<artifactId>*</artifactId>
<properties>
<service.package>com.company</service.package>
<jakarta.xml.ws-api.version>4.0.0</jakarta.xml.ws-api.version>
<jaxws-rt.version>4.0.0</jaxws-rt.version>
<jaxws-ri.version>4.0.0</jaxws-ri.version>
<jaxws-maven-plugin.version>3.0.0</jaxws-maven-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>${jakarta.xml.ws-api.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>${jaxws-rt.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>${jaxws-ri.version}</version>
<type>pom</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>${jaxws-maven-plugin.version}</version>
<configuration>
<wsdlDirectory>${basedir}/src/main/resources</wsdlDirectory>
<sourceDestDir>${basedir}/src/main/java</sourceDestDir>
<extension>true</extension>
</configuration>
<executions>
<execution>
<id>USER_INFO</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlFiles>
<wsdlFile>user_info.xml.wsdl</wsdlFile>
</wsdlFiles>
<packageName>${service.package}.userinfo</packageName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
現在所有依賴項都是 jakarta.xml 而不是 javax.xml。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.