1

XML ベースのソフトウェアを開発しようとしています。私はMavenとXmlBeansを使用しています。

私は、いくつかの要素、抽象型などを定義するbase-projectを提供しています。base-xml-schemas

他のすべてsub-projectsも xml-schema を提供します。ただし、これらのサブプロジェクトは、base-xml-schemasによって定義された要素/タイプを使用および拡張するために をインポート/参照しbase-schemasます。

sub-projects 依存していますがbase-project、xmlbeans プラグインを使用するbase-xml-schemasには が存在する必要がschemaDirectoryあります。暗示として、私のすべてのサブプロジェクトは、base-xml-schemas.

Myは Jboss 内のすべてのアプリケーションで使用可能になり、タイプは実行時に解決できるため、sub-projectsこれらのサブプロジェクト固有のスキーマとコンテンツのみを jar に含める必要があります。base-project

xmlbean には、コード生成のために参照されるすべてのスキーマが存在する必要があることを理解したので、xmlbean によって生成されたすべてのコードを削除して、特定のスキーマbase-xml-schemaに関連するファイルを保持したいと考えています。sub-project

私は手動でこれを行いました.Mavenには依存関係があり、クラスは実行時に利用できるため、プロジェクトのコンパイルとランタイムは正常に機能します。

私の質問は、生成されたファイルが生成base-schema直後に削除されるように、maven を使用してこれを自動化する方法です。

4

1 に答える 1

0

Maven xmlbeans プラグインは、デフォルトでライフサイクル フェーズの generate-sources にバインドします。

clean プラグインの clean ゴールを上記のライフサイクル フェーズにバインドする必要があります。

リンクを参照してください -pomファイルを使用してターゲットディレクトリからリソースファイルを削除または削除します

構成は次のようになります。

      <execution>
        <id>clean-autogenerated-code</id>
        <phase>generate-sources</phase>
        <goals>
          <goal>clean</goal>
        </goals>
        <configuration>
         <filesets>
            <fileset>
              <directory>some/relative/path/location/of/autogeneratd/code</directory>
            </fileset>
          </filesets>
        </configuration>
    </execution>

ディレクトリの場所 - 自動生成されたクラスの正確なディレクトリの場所を提供します。

これは、自動生成された xml Bean ファイルを削除する必要があるすべてのサブプロジェクトで構成する必要があります。すべてのサブプロジェクトに親 pom がある場合は、その pom.xml ファイルで構成します。

于 2015-01-25T08:06:55.527 に答える