CXF 自动生成失败
CXF auto generation fails
当我将插件添加到 pom 文件时,应用程序出现错误,无法创建服务。
我正在尝试让 cxf-codegen-plugin 从我的 wsdl 生成源代码file.I 进行了研究但找不到 solution.I 需要您的帮助。
控制台output:in问题选项卡
错误: 目标的执行生成源 org.apache.cxf:cxf-codegen-plugin:3.1.6:wsdl2java 失败:所需的 class 是执行时丢失 org.apache.cxf:cxf-codegen-plugin:3.1.6:wsdl2java: javax/xml/bind/annotation/adapters/HexBinaryAdapter
错误资源: pom.xml
POM.XML
<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>
.......................................................................................................
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.1.6</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${basedir}/src/main/java/</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/ProjectName.wsdl</wsdl>
<extraargs>
<extraarg>-verbose</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
Windows 10, x64, Jdk1.8.0_212,Spring 工具套件(4.9.0.RELEASE)
Spring 工具套件
特点: Jdk 编译器:1.8。已安装 JREs:jre1.8.0_241
我的英语不是good.Excuse我。
谢谢。
我不完全确定为什么找不到这个 class。您正在使用 Java 8,并且 JAXB 应该仍然是该版本中 JDK 的一部分(版本 9 和 10 在模块 java.se.ee
中有它,11+ 将它完全删除)。
您可以尝试将 JAXB 添加为插件的依赖项:
<plugin>
<!-- your config omitted for brevity -->
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
</plugin>
尽管这只添加了 JAXB API,而不是实际的实现。一种可能的实现是 Glassfish:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.1</version>
<scope>runtime</scope>
</dependency>
您也可以将其添加到同一部分。
同样,我不完全确定这是否可行(由于使用 Java 8,JAXB 应该出现在您的 class 路径中),但值得一试。
当我将插件添加到 pom 文件时,应用程序出现错误,无法创建服务。
我正在尝试让 cxf-codegen-plugin 从我的 wsdl 生成源代码file.I 进行了研究但找不到 solution.I 需要您的帮助。
控制台output:in问题选项卡
错误: 目标的执行生成源 org.apache.cxf:cxf-codegen-plugin:3.1.6:wsdl2java 失败:所需的 class 是执行时丢失 org.apache.cxf:cxf-codegen-plugin:3.1.6:wsdl2java: javax/xml/bind/annotation/adapters/HexBinaryAdapter
错误资源: pom.xml
POM.XML
<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>
.......................................................................................................
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.1.6</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${basedir}/src/main/java/</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/ProjectName.wsdl</wsdl>
<extraargs>
<extraarg>-verbose</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
Windows 10, x64, Jdk1.8.0_212,Spring 工具套件(4.9.0.RELEASE)
Spring 工具套件 特点: Jdk 编译器:1.8。已安装 JREs:jre1.8.0_241
我的英语不是good.Excuse我。
谢谢。
我不完全确定为什么找不到这个 class。您正在使用 Java 8,并且 JAXB 应该仍然是该版本中 JDK 的一部分(版本 9 和 10 在模块 java.se.ee
中有它,11+ 将它完全删除)。
您可以尝试将 JAXB 添加为插件的依赖项:
<plugin>
<!-- your config omitted for brevity -->
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
</plugin>
尽管这只添加了 JAXB API,而不是实际的实现。一种可能的实现是 Glassfish:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.1</version>
<scope>runtime</scope>
</dependency>
您也可以将其添加到同一部分。
同样,我不完全确定这是否可行(由于使用 Java 8,JAXB 应该出现在您的 class 路径中),但值得一试。