2013-04-23 5 views
2

저는 maven을 처음 사용하고 wavenport 파일 (wsimport 플러그인 사용)에서 java 코드를 생성하려면 maven을 사용하고 싶습니다.이 프로젝트는 URL이 아닌 프로젝트에 있습니다. .maven Java에서 웹 서비스 생성

wsdl 파일은 myprojet/src/main/resources 어딘가에 있어야하며 myproject/target/generatedsources/ws에 생성 된 소스라고 생각합니다.

이러한 장소를 선택하는 것이 좋습니다. 그렇다면 어떻게 maven을 사용하여 wsdl에서 지정된 폴더로 소스를 만들 수 있습니까? 소스의 Java 패키지 이름을 선택할 수 있습니까? 해야합니까? 소스 파일을 jar 파일로 만들어야합니까? 생성 된 소스가 클래스 경로에서 컴파일에 액세스 할 수 있도록하려면 어떻게해야합니까?

감사합니다.

+0

여기를보세요 http://stackoverflow.com/questions/16057417/regarding-client-side-code-generation-from-wsdl/16058435#16058435 – Khalil

답변

2

은 wsimport의 플러그인이 작업을 수행하는 방법은 여러 가지가 있지만 대부분의 예는

Apache CXF이 정확한 목적

<plugin> 
<groupId>org.apache.cxf</groupId> 
<artifactId>cxf-codegen-plugin</artifactId> 
<version>${cxf.version}</version> 
<executions> 
    <execution> 
     <id>generate-sources</id> 
     <phase>generate-sources</phase> 
     <configuration> 
      <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 
      <wsdlOptions> 
       <wsdlOption> 
        <wsdl>${basedir}/src/main/resources/myService.wsdl</wsdl> 
       </wsdlOption> 
      </wsdlOptions> 
     </configuration> 
     <goals> 
      <goal>wsdl2java</goal> 
     </goals> 
    </execution> 
</executions> 

을위한 인기있는 무료 플러그인입니다 당신의 pom.xml의 더 많은 지식을 필요로

참고 : 생성 된 소스에서 jar 파일을 만들 수는 있지만이 파일은 POM 내의 별도 항목입니다.

0

은 웹 서비스 용 WSDL에 기반한 코드 생성을 돕기 위해 특별히 고안된 Apache의 Axis2를 확인합니다.

http://axis.apache.org/axis2/java/core/

편집 : 기본적으로 그것은 당신이 찾고있는 것을 정확히 확장하기 위해, 나는 일반적으로 WSDL2Java의 (.BAT 또는 .sh로) 파일을 실행하고 웹 또는 로컬에서 중 (는 WSDL을 가리 복사) 그리고 다른 모든 것을 생성합니다. 그것은 심지어 모든 것을 당신을 위해 병으로 포장 할 수 있습니다 ("cleaner"이기 때문에 선호하는 방법). 생성 된 코드에 들어가서 아무 것도 변경할 필요가 없을 것입니다. 클래스 패스에 항아리를 추가 한 다음 다른 라이브러리와 마찬가지로 가져 와서 사용하십시오.

관련 문제