为多个WSDL文件生成客户端,通过Spring Gradle放在不同的包中
Generate clients for multiple WSDL files and place it in different package through Spring Gradle
我想使用 spring gradle 从 WSDL 文件生成 java class。我已经完成了 1 个 wsdl 文件。但在未来它可能是大约 200 个 WSDL。有没有更好的方法来单独生成 WSDL 并将 java classes 放在不同的包中。说每个包都以 WSDL 文件名命名?请在下面找到我的 build.gradle。是否可以通过传递 WSDL 名称、包名称来使 Ant Task 通用并单独调用每个 WSDL 文件?
// tag::wsdl[]
task genJaxb {
ext.sourcesDir = "${buildDir}/generated-sources/jaxb"
ext.classesDir = "${buildDir}/classes/jaxb"
//ext.schema = "http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl"
ext.schema = "${projectDir}/src/main/resources/wsdl.test1"
outputs.dir classesDir
doLast() {
project.ant {
taskdef name: "xjc", classname: "com.sun.tools.xjc.XJCTask",
classpath: configurations.jaxb.asPath
mkdir(dir: sourcesDir)
mkdir(dir: classesDir)
xjc(destdir: sourcesDir,
schema: schema,
package: "wsdl.test1") {
arg(value: "-wsdl")
produces(dir: sourcesDir, includes: "**/*.java")
}
javac(destdir: classesDir, source: 1.6, target: 1.6, debug: true,
debugLevel: "lines,vars,source",
classpath: configurations.jaxb.asPath) {
src(path: sourcesDir)
include(name: "**/*.java")
include(name: "*.java")
}
copy(todir: classesDir) {
fileset(dir: sourcesDir, erroronmissingdir: false) {
exclude(name: "**/*.java")
}
}
}
}
}
// end::wsdl[]
我使用 wsdl2java gradle plugin 从多个 wsdl/xsd 文件生成 Java 类。很有魅力。
我想使用 spring gradle 从 WSDL 文件生成 java class。我已经完成了 1 个 wsdl 文件。但在未来它可能是大约 200 个 WSDL。有没有更好的方法来单独生成 WSDL 并将 java classes 放在不同的包中。说每个包都以 WSDL 文件名命名?请在下面找到我的 build.gradle。是否可以通过传递 WSDL 名称、包名称来使 Ant Task 通用并单独调用每个 WSDL 文件?
// tag::wsdl[]
task genJaxb {
ext.sourcesDir = "${buildDir}/generated-sources/jaxb"
ext.classesDir = "${buildDir}/classes/jaxb"
//ext.schema = "http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl"
ext.schema = "${projectDir}/src/main/resources/wsdl.test1"
outputs.dir classesDir
doLast() {
project.ant {
taskdef name: "xjc", classname: "com.sun.tools.xjc.XJCTask",
classpath: configurations.jaxb.asPath
mkdir(dir: sourcesDir)
mkdir(dir: classesDir)
xjc(destdir: sourcesDir,
schema: schema,
package: "wsdl.test1") {
arg(value: "-wsdl")
produces(dir: sourcesDir, includes: "**/*.java")
}
javac(destdir: classesDir, source: 1.6, target: 1.6, debug: true,
debugLevel: "lines,vars,source",
classpath: configurations.jaxb.asPath) {
src(path: sourcesDir)
include(name: "**/*.java")
include(name: "*.java")
}
copy(todir: classesDir) {
fileset(dir: sourcesDir, erroronmissingdir: false) {
exclude(name: "**/*.java")
}
}
}
}
}
// end::wsdl[]
我使用 wsdl2java gradle plugin 从多个 wsdl/xsd 文件生成 Java 类。很有魅力。