如何解决如何从WSDL包括端口生成Java? Ant WsImport ws jaxws-导入Maven插件
我正在从Gradle迁移到Maven。
对于其中一个WSDL,在Gradle中有一个大块调用Ant的WsImport
任务,该任务使用XJC。
task.wsimport {
ext.classesDir = "${buildDir}/classes/jaxb"
ext.sourcesDirsome = "${buildDir}/generated/"
ext.packageSome = "some"
ext.schemaSome = "${projectDir}/src/main/resources/someService/some-soap-service.wsdl"
outputs.dir classesDir
doLast {
project.ant {
mkdir(dir: sourcesDirsome)
taskdef(name: 'wsimport',classname: 'com.sun.tools.ws.ant.WsImport',classpath: configurations.jaxws.asPath
)
wsimport(keep: true,destdir: classesDir,sourcedestdir: sourcesDirsome,extension: "true",verbose: "false",quiet: "false",package: packageSome,xnocompile: "true",wsdllocation: "/someService/some-soap-service.wsdl",wsdl: schemaSome) {
xjcarg(value: "-XautoNameResolution")
}
javac(destdir: classesDir,source: 11,target: 11,debug: true,includeantruntime: false,debugLevel: "lines,vars,source",classpath: configurations.jaxb.asPath) {
src(path: sourcesDirsome)
include(name: "**/*.java")
include(name: "*.java")
}
copy(todir: classesDir) {
fileset(dir: sourcesDirsome,erroronmissingdir: false) {
exclude(name: "**/*.java")
}
}
}
}
}
对于Maven,我选择了jaxws-maven-plugin
,它也使用XJC。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<configuration>
<wsdlDirectory>${xsdsBaseDir}/someService</wsdlDirectory>
<wsdlLocation>${xsdsBaseDir}/someService/some-soap-service.wsdl</wsdlLocation>
<packageName>some</packageName>
<keep>true</keep>
<sourceDestDir>${project.build.directory}/generated-sources/main/java</sourceDestDir>
<target>2.0</target>
</configuration>
<executions><execution><goals><goal>wsimport</goal></goals></execution></executions>
</plugin>
但是生成的代码缺少Groovy中生成的某些类-WSDL端口的那些类。
可能是什么原因?我已经阅读了WsImport和jaxws-maven-plugin
的手册,但两者几乎一样。
我有事吗也许有一些不同的默认值?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。