2016-05-11 66 views
0

您好我正在學習webservices,我正在創建一個示例項目,從給定的wsdl(wsdl2Java)生成java並生成代碼到wsdl(java2ws)。 WSDL2Java的工作正常,但在的Java2WSDL我在我的ANT文件org.apache.cxf.tools.common.ToolException:未能加載類

Buildfile: D:\sarvan\java\webservice\java2wsVSws2java\build.xml 
cxfWSDLToJava: 
[echo] **********Genarating WSDLToJava*********** 
cxfJavaToWSDL: 
[echo] ************Genarating JavaToWSDL************* 
[java] JavaToWS Error: org.apache.cxf.tools.common.ToolException: Fail to load class : D:\sarvan\java\webservice\java2wsVSws2java\build \genClasses/com/saravana/webservice/services/CalServiceService.class 
compile-all: 
[javac] D:\sarvan\java\webservice\java2wsVSws2java\build.xml:54: warning: 'includeantruntime' was not set, defaulting to  build.sysclasspath=last; set to false for repeatable builds 
[javac] Compiling 9 source files to D:\sarvan\java\webservice \java2wsVSws2java\build\genClasses 
BUILD SUCCESSFUL 
Total time: 5 seconds 

越來越像下面的例外是什麼問題的原因,任何幫助,請! 我ANT:

<target name="cxfJavaToWSDL" depends="cxfWSDLToJava"> 
<echo> ************Genarating JavaToWSDL************* </echo> 
    <java classname="org.apache.cxf.tools.java2ws.JavaToWS" fork="true"> 
    <arg value="-wsdl"/> 
     <arg value="-classdir"/> 
     <arg value="${classes}"/> 
    <arg value="-cp"/> 
     <arg value="${classes}/**/CalServiceService.class"/> 
     <arg value="-o"/> 
    <arg value="${lib.dir}/CalServiceService.wsdl"/> 
    <arg value="${classes}/com/saravana/webservice/services/CalServiceService.class"/> 
    <classpath> 
     <path refid="class.path"/> 
     <pathelement location="${classes}/**/*.class"/> 
    </classpath> 
    </java> 

<target name="cxfWSDLToJava" > 
    <echo message="**********Genarating WSDLToJava***********"/>  
    <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true"> 
    <arg value="-client"/> 
    <arg value="-d"/> 
    <arg value="${genCode.dir}"/> 
    <!-- <arg value="-b"/> 
    <arg value="./async_binding.xml"/> --> 
    <arg value="${lib.dir}/CalService.wsdl"/> 
    <classpath> 
    <path refid="class.path"/> 
    </classpath> 
    </java> 
</target> 
<target name="compile-all" depends="cxfJavaToWSDL"> 
    <javac debug="on" destdir="${classes}"> 
     <src path="${genCode.dir}"/> 
     <classpath refid="class.path"/> 
    </javac> 
</target> 

和我的屬性和類路徑中ANT

<project name="javawsVSwsTojava" default="compile-all" basedir="."> 
<property name="lib.dir" location="./WebContent/WEB-INF/lib" /> 
<property name="genCode.dir" location="./Java Resources/generatedcode" /> 
<property name="classes" location="./build/genClasses" /> 
<property name="wsdl.location" location="" /> 
<path id="class.path"> 
    <fileset dir="${lib.dir}/dependencies"> 
     <include name="**/*.jar" /> 
    </fileset> 
</path> 

回答

0

看來你需要修改你的Ant文件一點點,使其工作。試試這個在您的java2wsdl任務

<java classname="org.apache.cxf.tools.java2ws.JavaToWS" fork="true"> 
    <arg value="-wsdl"/> 
     <arg value="-classdir"/> 
     <arg value="${classes}"/> 
    <arg value="-cp"/> 
     <arg value="${classes}/"/> 
     <arg value="-o"/> 
    <arg value="${lib.dir}/CalServiceService.wsdl"/> 
    <arg value="com.saravana.webservice.services.CalServiceService"/> 
    <classpath> 
     <path refid="class.path"/> 
     <pathelement location="${classes}/**/*.class"/> 
    </classpath> 
    </java> 
1

正是由於classpath中的,當我們想java2ws我們必須給予SEI的類文件(編譯),而不是應該給爪哇(SRC)

<target name="cxfJavaToWSDL" depends="compile-all"> 
    <echo> ************Genarating JavaToWSDL************* </echo> 
    <java classname="org.apache.cxf.tools.java2ws.JavaToWS" fork="true"> 
     <arg value="-wsdl" /> 
     <arg value="-o" /> 
     <arg value="${lib.dir}/CalServiceService.wsdl" /> 
     <arg 
      value="com.saravana.webservice.services.CalService" /><!--you should give fully qualified class name here --> 
     <classpath> 
      <path refid="class.path" /> 
     </classpath> 
    </java> 
</target> 

,我們應該在classpath中

<path id="class.path"> 
<pathelement location="${classes}"/> 
    <fileset dir="${lib.dir}/dependencies"> 
     <include name="**/*.jar" /> 
    </fileset> 
</path> 

這解決了我的問題添加編譯的類和依賴罐子。

相關問題