相关疑难解决方法(0)

com.sun.tools.xjc.Plugin:Provider <plugin>不是子类型

我有一个使用Maven构建的CXF JAX-RS应用程序.我正在努力将其转换为Gradle,但使用Ant XJC任务.

当前版本使用了几个扩展,其中一个是"元素包装"插件的副本,另一个是"jaxb-fluent-api".

我尝试将这两个插件的jar放入xjc类路径中,但是当我运行XJC任务时,我得到以下内容:

java.util.ServiceConfigurationError:com.sun.tools.xjc.Plugin:Provider dk.conspicio.jaxb.plugins.XmlElementWrapperPlugin not a subtype

XmlElementWrapperPlugin类扩展了"com.sun.tools.xjc.Plugin".

知道这里发生了什么吗?

如果重要的话,我的xjc插件的Maven配置看起来像这样:

<plugin>
     <groupId>org.apache.cxf</groupId>
     <artifactId>cxf-xjc-plugin</artifactId>
     <executions>
         <execution>
             <id>generate-sources</id>
             <phase>generate-sources</phase>
             <goals>
                <goal>xsdtojava</goal>
             </goals>
             <configuration>
                <extensions>
                    <extension>JAXBXMLElementWrapperPlugin:JAXBXMLElementWrapperPlugin:1.0.0</extension>
                    <extension>net.java.dev.jaxb2-commons:jaxb-fluent-api:2.1.8</extension>
                </extensions>
                <xsdOptions>
                    <xsdOption>
                        <xsd>${basedir}/src/main/resources/schema/serviceCallResults.xsd</xsd>
                        <packagename>com.att.sunlight.service.domain.serviceCallResults</packagename>
                        <extension>true</extension>
                        <extensionArgs>
                            <extensionArg>-Xxew</extensionArg>
                            <extensionArg>-summary ${basedir}/target/xew-summary.txt</extensionArg>
                            <extensionArg>-instantiate lazy</extensionArg>
                            <extensionArg>-Xfluent-api</extensionArg>
                        </extensionArgs>
                    </xsdOption>
                </xsdOptions>
            </configuration>
        </execution>
     </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

这是我的"build.gradle",只有存储库被省略:

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'war'

group = 'SunlightDataService'
version = '1.2.4-SNAPSHOT'

sourceCompatibility = 1.6
targetCompatibility = 1.6

repositories {
    ...
}

configurations {
    jaxb
}

dependencies {

    jaxb …
Run Code Online (Sandbox Code Playgroud)

cxf jaxb gradle maven jaxb-xew-plugin

7
推荐指数
2
解决办法
6404
查看次数

标签 统计

cxf ×1

gradle ×1

jaxb ×1

jaxb-xew-plugin ×1

maven ×1