문제

WSDLC 도구 (Weblogic 10.3.1)를 사용하여 WSDL에서 클래스를 생성합니다. 다음 외부 JAXB 바인딩 사용자 정의 파일이 있습니다.

<jaxb:bindings
    xmlns="http://java.sun.com/xml/ns/jaxb"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    schemaLocation="web/WEB-INF/....xsd"
    version="2.1">

    <jaxb:bindings  node="/xs:schema">
        <jaxb:globalBindings>
            <xjc:superClass name="my.MySuperClass" />
        </jaxb:globalBindings>
    </jaxb:bindings>
</jaxb:bindings>

불만에 대한 오류 메시지는 다음과 같습니다. Symbol My.mysuperClass를 찾을 수 없습니다. 그리고 Javac에서 : "패키지가 존재하지 않습니다". ClassPath = 내가 포함하는 모든 것 <pathelement location= Eclipse 플러그인의 60 줄. 문제는 WSDLC가 시작하는 Javac 명령에 있습니다. 이 명령의 클래스 경로는 정확하지만 (하드 코딩 된 경로, 예를 들어) "패키지 ... 존재하지 않습니다".

개미에서 WSDLC의 사용은 그렇습니다.

<path id="class.path">
  <pathelement path="${java.class.path}" />
  <pathelement location="... hard coded path on disk to a jar" />
</path>

<target name="generate-ws-from-wsdl">
<wsdlc failOnError="true"
       srcWsdl="${basedir}/web/WEB-INF/ps.wsdl"
       destImplDir="${basedir}/src"
       destJwsDir="${basedir}/web/WEB-INF/lib"
       srcPortName="PsPort"
       type="JAXWS">
    <binding file="jaxb-bindings.xml" />
    <classpath refid="class.path" />
</wsdlc>
</target>
도움이 되었습니까?

해결책 3

나는 수업을 제대로 용기하지 않았다. 나는 Winzip을 사용하여 항아리에 일부 클래스를 신속하게 추가 할 수 있다고 생각했지만 Winzip의 '경로'는 Java의 패키지 이름과 같지 않았다. 시간이 걸렸지 만 나는 클래스 경로에 대해 뭔가를 배웠습니다.

다른 팁

my.SuperClass 이미 존재해야합니다. wsdlc 당신을 위해 그것을 생성하지 않을 것입니다. 생성 된 코드를 컴파일하는 데있어 (여기서 실패했다고 가정하는 곳) Javac이 찾을 수 없기 때문입니다. my.SuperClass 클래스 경로에서.

발췌문을 제공하십시오 build.xml 사용 방법을 보여줍니다 wsdlc.

에 따르면 선적 서류 비치:

Weblogic 특정 WSDLC 속성 외에도 다음 표준 Javac 속성을 정의 할 수도 있습니다. 각 속성에 대한 추가 정보는 ANT 문서를 참조하십시오.

  • bootclasspath
  • bootClasspathRef
  • classpath
  • [...]

WSDLC 개미 작업과 함께 다음 표준 개미 하위 요소를 사용할 수도 있습니다.

  • <FileSet>
  • <SourcePath>
  • <Classpath>

포함 할 클래스 경로를 지정 했습니까? my.SuperClass?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top