从Java运行weblogic wsdlc任务时出错
在参考和之后,我尝试从java类运行ant脚本,如下所示:从Java运行weblogic wsdlc任务时出错,java,ant,weblogic-10.x,wsdlc,Java,Ant,Weblogic 10.x,Wsdlc,在参考和之后,我尝试从java类运行ant脚本,如下所示: File buildFile = new File("D:\\Utility\\artifacts\\build.xml"); Project p = new Project(); p.setUserProperty("ant.file", buildFile.getAbsolutePath()); DefaultLogger consoleLogger = new DefaultLogger();
File buildFile = new File("D:\\Utility\\artifacts\\build.xml");
Project p = new Project();
p.setUserProperty("ant.file", buildFile.getAbsolutePath());
DefaultLogger consoleLogger = new DefaultLogger();
consoleLogger.setErrorPrintStream(System.err);
consoleLogger.setOutputPrintStream(System.out);
consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
p.addBuildListener(consoleLogger);
try
{
p.fireBuildStarted();
p.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
p.addReference("ant.projectHelper", helper);
helper.parse(p, buildFile);
p.executeTarget(p.getDefaultTarget());
p.fireBuildFinished(null);
}
catch (BuildException e)
{
p.fireBuildFinished(e);
}
以下是build.xml文件:
<project name="buildWebservice" default="generate-from-wsdlc">
<taskdef name="wsdlc" classname="weblogic.wsee.tools.anttasks.WsdlcTask"
classpath="D:\bea\wlserver_10.3\server\lib\weblogic.jar" />
<target name="generate-from-wsdlc">
<wsdlc srcWsdl="D:\Utility\WSDLs\someWSDL.wsdl"
type="JAXWS" destJwsDir="temp\JWS_InterfaceDir" destImplDir="temp\JWS_ImplDir">
</wsdlc>
</target>
</project>
我甚至反编译了jaxws-rt.jar以在JAXWSUtils类中查找getEncodedURL方法,但没有找到任何这样的方法
请帮忙!
提前感谢尝试与此论坛条目相关的其他实现:
谢谢你的提示,莱克桑德罗!你能详细说明一下不同的解释是什么意思吗?事实上,我打开线试了试,但没有成功。事实上,我正在调用的weblogic任务(WSDLC)在内部调用此方法(getEncodeURL)。注意:ant从命令行成功运行,用于相同的任务比较这些环境的类路径。可能它们指向不同的实现(默认的JDK impl与weblogic提供的一个)
BUILD FAILED
D:\Utility\artifacts\build.xml:21: java.lang.NoSuchMethodError: com.sun.xml.ws.util.JAXWSUtils.getEncodedURL(Ljava/lang/String;)Ljava/net/URL;