2013-04-11 2 views
0

다중 모듈 메이븐 프로젝트가 있고 JaxB 주석 클래스에서 XML 스키마를 빌드해야합니다. 이 클래스는 다른 프로젝트에 있습니다. jaxb2-maven-plugin을 사용하여 모든 프로젝트의 소스를 가리켜 하나의 스키마를 생성 할 수 있습니까? 아마 이것처럼 ...jaxb2-maven-plugin을 사용하여 schemagen을 실행할 때 여러 프로젝트의 java 소스를 포함시킬 수 있습니까?

<configuration> 
    ... 
    <includes>  
     <include>../OtherProj1/src/main/java/**/*.java</include> 
     <include>../OtherProj2/src/main/java/**/*.java</include> 
     <include>**/*.java</include> 
    </includes> 
    ... 
</configuration> 

또는 각 프로젝트에 대해 개별적으로 스키마를 만든 다음 대신 부모 스키마로 가져와야합니까?

maven 2.2.1 및 jaxb2-maven-plugin 1.3을 사용하고 있습니다.

+0

나는 받는다는-antrun - 플러그인에 복귀과에서는 schemagen 작업을 호출하여이 작업을 얻을 수 있지만, 정말 가능한 경우 JAXB2 - 받는다는 - 플러그인을 사용하고 싶습니다. – RJC

+0

안녕하세요. RJC,이 문제를 해결 했습니까? 나는 같은 문제를 겪고있다. src/main/java가 아닌 곳에서 .java 파일을 추가하고 싶습니다. –

+0

@WhiteRoses - antrun 플러그인을 사용해야했습니다. 나는 이것을 위해 나의 설정을 게시했다. 희망이 도움이됩니다. – RJC

답변

0

antrun 플러그인이 XML 스키마 생성을위한 mvn 프로젝트 외부의 소스를 포함하는 유일한 방법이라고 생각합니다.

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.6</version> 
    <executions> 
     <execution> 
      <phase>generate-resources</phase> 
      <configuration> 
       <target>       
        <taskdef name="schemagen" classname="com.sun.tools.jxc.SchemaGenTask"> 
        </taskdef> 
        <schemagen destdir="src/main/resources/" includes="<comma separated paths to include>" 
         excludes="<comma separated paths to exclude>"> 
         <src path="src/main/java" /> 
         <src path="../OtherProj1/src/main/java" /> 
         <src path="../OtherProj2/src/main/java" />     
        </schemagen> 
        <move file="src/main/resources/schema1.xsd" tofile="src/main/resources/<filename>.xsd" /> 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
관련 문제