JavaToWS Error: java.lang.NoClassDefFoundError
JavaToWS Error: java.lang.NoClassDefFoundError
我正在使用 CXF JavaToWS 根据我的 Java 代码创建一个 WSDL 文件。我正在使用 Gradle 进行构建。我的 Java 代码引用了另一个项目,我通过我的 settings.gradle 和 build.gradle 文件将它们绑定在一起。一切正常。
我看到的问题是 JavaToWS 在辅助项目中的 类 之一上出现 NoClassDefFoundError。就好像 JavaToWS 没有访问项目类路径的权限。 Eclipse 找到它需要的一切,并且项目构建没有错误。只是 JavaToWS 步骤失败了。关于如何让 JavaToWS 查看我的类路径的任何想法?有没有一种方法可以将多个参数传递给“-cp”参数?
这是我 gradle.build 文件中的 JavaToWS 步骤:
task java2ws(type: JavaExec) {
ext {
outputDir = file("src/main/java")
mainDir = file("$buildDir/classes/main")
wsdlDir = file("src/main/resources/wsdl")
}
main = 'org.apache.cxf.tools.java2ws.JavaToWS'
classpath = configurations.cxf
// Arguments to be passed to JavaToWS.
args '-cp', mainDir
args '-s', outputDir
args '-d', wsdlDir
args '-classdir', mainDir
args '-o', 'MyService.wsdl'
args '-createxsdimports'
args '-verbose'
args '-frontend', 'jaxws'
args '-databinding', 'jaxb'
args '-wsdl'
args '-wrapperbean', 'com.foo.MyService'
}
我能够通过更改类路径行来解决此问题:
classpath = configurations.cxf
至:
classpath = files(configurations.cxf, configurations.runtime)
我正在使用 CXF JavaToWS 根据我的 Java 代码创建一个 WSDL 文件。我正在使用 Gradle 进行构建。我的 Java 代码引用了另一个项目,我通过我的 settings.gradle 和 build.gradle 文件将它们绑定在一起。一切正常。
我看到的问题是 JavaToWS 在辅助项目中的 类 之一上出现 NoClassDefFoundError。就好像 JavaToWS 没有访问项目类路径的权限。 Eclipse 找到它需要的一切,并且项目构建没有错误。只是 JavaToWS 步骤失败了。关于如何让 JavaToWS 查看我的类路径的任何想法?有没有一种方法可以将多个参数传递给“-cp”参数?
这是我 gradle.build 文件中的 JavaToWS 步骤:
task java2ws(type: JavaExec) {
ext {
outputDir = file("src/main/java")
mainDir = file("$buildDir/classes/main")
wsdlDir = file("src/main/resources/wsdl")
}
main = 'org.apache.cxf.tools.java2ws.JavaToWS'
classpath = configurations.cxf
// Arguments to be passed to JavaToWS.
args '-cp', mainDir
args '-s', outputDir
args '-d', wsdlDir
args '-classdir', mainDir
args '-o', 'MyService.wsdl'
args '-createxsdimports'
args '-verbose'
args '-frontend', 'jaxws'
args '-databinding', 'jaxb'
args '-wsdl'
args '-wrapperbean', 'com.foo.MyService'
}
我能够通过更改类路径行来解决此问题:
classpath = configurations.cxf
至:
classpath = files(configurations.cxf, configurations.runtime)