2011-12-13 5 views
7

私は、Java 7Java 7でmaven-jaxb-schemagen-pluginを動作させることは可能ですか?

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

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 

AnnotationProcessorFactoryは、Java 7で非推奨/削除されているように思え?このプラグインを使用してjaxb schemagenを動作させることは可能ですか? JDK 7を使用しているときに、JAXBソースコードからスキーマ生成を取得する別の方法がありますか?

答えて

9

代わりにorg.codehaus.mojo:jaxb2-maven-pluginをお試しになりましたか?

+2

このプラグインはうまくいくようです。欠点の1つは、このプラグインを使用して出力スキーマファイルの名前を付けることはできないように思われるので、スキンファイルの名前を変更するにはmaven-antrun-pluginを使用する必要がありました。また、警告が表示されます。警告:aptツールとその関連APIは、次の主要なJDKリリースで削除される予定です。 - うまくいけば、この混乱はJava 8の前に整理されるでしょう – lexicalscope

+1

keiki

7

これは、(あなたのpom.xmlにこのプロファイルを追加)それがどのように動作するかです:私はtransformSchemasを使用し、誰もがもうこのスレッドに聞いている

<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> 
    <transformSchema> 
     <uri>YOUR NS IN YOUR GENERATED SCHEMA FILE</uri> 
     <toFile>DESIRED NAME OF YOUR XSD FILE</toFile> 
    </transformSchema> 
</transformSchemas> 

歓声

-m。

関連する問題