如何使用第5级从java 11中的WSDL生成类?
我在使用wsimport插件,但看起来它在java 11中不起作用
dependencies {
classpath "gradle.plugin.me.seeber.gradle:gradle-wsimport-plugin:1.1.1"
}在Intelij的想法中,我得到:
发布于 2020-04-07 22:13:53
Wsinport和wsgen工具已从Java11-9月320中删除,但它们可以在地铁JAX-WS中找到,后者现在是EE4J倡议的一部分。
像wsimport这样的命令行工具只不过是调用com.sun.tools.ws.WsImport类的包装器。此类包含在Metro JAX-WS中(可在maven工件、jaxws-rt或jaxws-工具或其他类中使用)
类可以直接从生成。
// SomeClass.java
String[] args = new String[]{
"-target", "2.1",
"-s", "src/main/java",
"-keep",
"-Xnocompile",
"-extension",
"-encoding", "UTF-8",
"-wsdllocation", "http://localhost/wsdl",
"src/main/resources/META-INF/SomeService.wsdl"
};
com.sun.tools.ws.WsImport.main(args);或可由分级任务轻松生成
// build.gradle
task wsImport(type: JavaExec) {
classpath sourceSets.main.runtimeClasspath
main = "com.sun.tools.ws.WsImport"
args "-target", "2.1",
"-s", "src/main/java",
"-keep",
"-Xnocompile",
"-extension",
"-encoding", "UTF-8",
"-wsdllocation", "http://localhost/wsdl",
"src/main/resources/META-INF/SomeService.wsdl"
}
dependencies {
compile 'com.sun.xml.ws:jaxws-rt:2.3.2-1'
}在Java 13和第6级中进行测试。
最棒的是,除了“原始”插件之外,没有额外的插件或花哨的依赖项。
发布于 2021-09-23 07:48:32
您可以尝试为Gradle wsdl2java使用新的插件。使用和配置非常简单,只需添加插件:
plugins {
...
id 'com.github.bjornvester.wsdl2java' version '1.2'
}
...
wsdl2java {
includes = ['wsdl/test.wsdl']
}https://stackoverflow.com/questions/57460321
复制相似问题