我有一个使用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)