2

XMLBeans Maven プラグインを使用して、XSD ファイルに基づいてクラスを生成します。生成したクラスを使用してコードを記述でき、Eclipse がtarget/generated-sources/xmlbeansソース フォルダーとして表示されます。ただし、テスト コードを実行しようとすると、古典的なエラーが発生します。

java.lang.ClassNotFoundException: schemaorg_apache_xmlbeans.system.sCFA0DE5D65ADE16E20A85EAFD5A886E4.TypeSystemHolder

プロジェクト フォルダーを見ると、フォルダー内にこのクラス ファイルが表示されますtarget\generated-classes\xmlbeans\schemaorg_apache_xmlbeans\system\sCFA0DE5D65ADE16E20A85EAFD5A886E4

これらのクラスの場所を Eclipse に知らせるために、POM ファイルに変更を加えることはできますか? この問題を手動で修正し、そのフォルダーをクラスパスに追加するように Eclipse に指示する方法はいくつかあると思いますが、私は自動解決策を好みます。

POM スニペット

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>xmlbeans-maven-plugin</artifactId>
    <version>2.3.3</version>
    <executions>
      <execution>
        <goals>
          <goal>xmlbeans</goal>
        </goals>
      </execution>
    </executions>
    <inherited>true</inherited>
    <configuration>
      <schemaDirectory>src/main/xsd</schemaDirectory>
      <download>true</download>
      <javaSource>1.5</javaSource>
    </configuration>
  </plugin>
4

2 に答える 2

2

これを使用して、生成されたコードを組み込みました。コード生成が発生した後にプラグインをフェーズにバインドするか、同じフェーズを使用している場合は、このプラグイン構成が構成後に表示されるようにしてxmlbeans-maven-pluginください。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <version>${build.helper.maven.plugin.version}</version>
  <executions>
    <execution>
      <id>add-source</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>add-source</goal>
      </goals>
      <configuration>
        <sources>
          <source>${xmlbeans.sourceGenerationDirectory}</source>
        </sources>
      </configuration>
    </execution>
  </executions>
</plugin>
于 2014-03-25T16:54:01.090 に答える