Ant 使用Gradle生成jax-ws-java源代码
我有一个wsdl,我想使用wsimport的ibmwebsphere版本从它生成jax-ws-type Java源代码。我怎样才能简单地做到这一点?wsimport.bat引用com.ibm.ws.jaxws.tools.wsimport来生成代码。下面是一个简单的Ant脚本,使用WebSphere 6.1运行时(使用WebSphere功能包,这是JAX-ws所必需的),我刚刚测试过:Ant 使用Gradle生成jax-ws-java源代码,ant,websphere,gradle,Ant,Websphere,Gradle,我有一个wsdl,我想使用wsimport的ibmwebsphere版本从它生成jax-ws-type Java源代码。我怎样才能简单地做到这一点?wsimport.bat引用com.ibm.ws.jaxws.tools.wsimport来生成代码。下面是一个简单的Ant脚本,使用WebSphere 6.1运行时(使用WebSphere功能包,这是JAX-ws所必需的),我刚刚测试过: <?xml version="1.0" encoding="UTF-8"?> <projec
<?xml version="1.0" encoding="UTF-8"?>
<project name="JAX-WS Client">
<property name="was.dir" value="C:\Program Files (x86)\IBM\WebSphere\AppServer"/>
<path id="jaxws.gen.classpath">
<fileset dir="${was.dir}/plugins">
<include name="*com.ibm.wsfp.main_6.1.0.jar" />
<include name="*org.apache.axis2_6.1.0.jar" />
<include name="*com.ibm.jaxws.tools_6.1.0.jar" />
<include name="*com.ibm.jaxb.tools_6.1.0.jar" />
</fileset>
<fileset file="${was.dir}/lib/j2ee.jar"/>
</path>
<!-- Ant task definition for wsimport -->
<taskdef classpathref="jaxws.gen.classpath" name="wsimport" classname="com.sun.tools.ws.ant.WsImport"/>
<target name="wsimport">
<wsimport sourcedestdir="./src" destdir="./build" debug="true" verbose="true"
keep="true" wsdl="${wsdlFile}" />
</target>
</project>
task generateWSDL2Java(type:Exec) {
doFirst{
genDir.mkdirs()
}
cmd = websphereHome + '/bin/wsimport.bat -keep -d '+genDir+' '+wsdlFile
commandLine = ['cmd', '/K', cmd]
}
如果你有RAD 8,这里是它的内部。我不确定其他WebSphere开发环境如何比较。JAX-WS工件是可移植的,这意味着您不需要使用IBM的工具。顺便说一句,我认为随附的wsgen和wsimport工具实际上使用了Sun/Oracle参考实现中的代码
因此,您可以使用任何有文档记录的Gradle解决方案,即使它不是特定于WebSphere的。我通过直接调用wsimport解决了这个问题。只需确保将websphereHome设置为您机器上的websphere主文件夹。genDir是您希望生成文件的文件夹。最后,wsdlFile是用于生成的wsdl的路径
task generateWSDL2Java(type:Exec) {
doFirst{
genDir.mkdirs()
}
cmd = websphereHome + '/bin/wsimport.bat -keep -d '+genDir+' '+wsdlFile
commandLine = ['cmd', '/K', cmd]
}
WebSphere的哪个版本?您有WebSphere开发工具,还是只有WebSphere运行时?两者都有。而且应该是com.ibm.ws.jaxws.tools.WsImport而不是WsGen顺便说一句,我将进行编辑我现在正在使用RAD8/WAS8,所以我将查看您提供的链接。