2011-12-13 2 views
7

가 나는 오류가Java 7에서 maven-jaxb-schemagen-plugin을 사용할 수 있습니까?

<groupId>com.sun.tools.jxc.maven2</groupId> 
<artifactId>maven-jaxb-schemagen-plugin</artifactId> 
<version>1.2</version> 

자바 7 maven-jaxb-schemagen-plugin를 사용하려고하면 :

[ERROR] Failed to execute goal com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.2:generate (default) on project TopologyProvisionerDom: Execution default of goal com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.2:generate failed: A required class was missing while executing com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.2:generate: com/sun/mirror/apt/AnnotationProcessorFactory 

그것은 자바 7에서 사용되지 제거되고 AnnotationProcessorFactory/것 같아? jaxb schemagen이이 플러그인을 사용하여 작동하도록 할 수 있습니까? JDK 7을 사용할 때 JAXB 소스 코드에서 스키마 생성을 얻는 다른 방법이 있습니까?

답변

9

대신 org.codehaus.mojo:jaxb2-maven-plugin을 사용해 보셨습니까?

+2

그래서이 플러그인이 작동하는 것 같습니다. 한 가지 단점은이 플러그인을 사용하여 출력 스키마 파일의 이름을 지정할 수없는 것 같아서 스키마 파일의 이름을 바꾸기 위해 maven-antrun-plugin을 사용해야했다. 또한 경고 메시지가 나타납니다. "경고 : apt 도구와 관련 API는 다음 주요 JDK 릴리스에서 제거 될 예정입니다." - 잘하면이 엉망 자바 8 전에 정렬 얻을 것이다 – lexicalscope

+1

keiki

7

이 어떻게 작동하는지입니다 (이 프로파일을 추가하려면 pom.xml) :

<profile> 
    <id>jdk7-fix</id> 
    <activation> 
     <file><exists>${java.home}/../lib/tools.jar</exists></file> 
    </activation> 
    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>com.sun.tools.jxc.maven2</groupId> 
        <artifactId>maven-jaxb-schemagen-plugin</artifactId> 
        <dependencies> 
         <dependency> 
          <groupId>com.sun</groupId> 
          <artifactId>tools</artifactId> 
          <version>1.7</version> 
          <scope>system</scope> 
          <systemPath>${java.home}/../lib/tools.jar</systemPath> 
         </dependency> 
        </dependencies> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
</profile> 
+0

이 모양을 사용하여 출력 스키마 파일을 제공 할 수있는 해결 방법이 나 같은 솔루션에 대한 설명이 있습니까? 감사 –

0

확실하지 사람이 봐 ...

내가 transformSchemas을 사용하는 것을 더 이상이 스레드를 듣고 있지만 옵션 예

<transformSchemas> 
    <transformSchema> 
     <uri>YOUR NS IN YOUR GENERATED SCHEMA FILE</uri> 
     <toFile>DESIRED NAME OF YOUR XSD FILE</toFile> 
    </transformSchema> 
</transformSchemas> 

환호

-m.

관련 문제