2

私はMavenを使用してjOOQをビルドおよびデプロイしています。ここで、適切なMavenプラグインを使用してXJCで生成されたクラスの生成を開始したいと思います(以前は、antスクリプトを使用していました)。これは私にとっては非常にうまく機能しますが、Mavenなしで自分でjOOQを構築したい一部のユーザーは、これらの欠落しているソースを生成するのに問題が発生することを恐れています。したがって、これらのソースをバージョン管理下に置くことができるように、target/generated-sources/xjcこれらのソースを内外に移動したいと思います。src/main/java

  • これは一般的な方法ですか?
  • どうすればよいですか(プラグインを使用してファイルを低レベルに移動する必要がありますか、それともファイルを直接に生成する必要がありますsrc/main/java)?
  • 他に選択肢はありますか?

基盤となるXSDはほとんど変更されないため、ビルドするたびにこれらのソースを生成する必要はありません...

4

2 に答える 2

3

これはひどい考えです。生成されたソースは変更される可能性があり、コードが同期しなくなるため、生成されたソースをバージョン管理に入れないでください。

XSDが変更されない場合でも、私が言ったことはほとんどありません。あなたが言ったように、これは異なりますが、ソースをバージョン管理下に置くことはありません。XSDが変更されていない場合、 Mavenは毎回ソースを生成しないように指示できます。

Mavenルートをたどる場合は、自分のものを作成する人は誰でも同じツールチェーンを使用する必要があります。これはMavenに固有のものではありません。これがAnt、またはmakeファイルを含むC ++プロジェクトである場合は、これも実行したくないでしょう。

本当にMavenの無料のスタンドアロン配布を提供したい場合は、Mavenにそれを生成させます。配布可能なアーカイブとして、すべてのアーティファクトをエクスポートするプラグインがたくさんあります。ただし、存在しない可能性のあるあいまいな外部要件のためにビルドを妥協しないでください。

于 2012-04-12T19:16:59.877 に答える
2

おそらく別の方法は、Mavenアセンブリプラグインを使用してこれらすべてのソースをzipし、バージョン管理されたアーティファクトとして公開することです。依存関係プラグインを使用すると、ローカルまたはリモートリポジトリからこれらのソースを取得し、それらのソースの正しいバージョンがあることを確認できます。

(私の意見では、そのままにしておきます。Mavenがビルドシステムである場合、コードをビルドしようとするすべての人がそれを使用する必要があります)

于 2012-04-12T19:24:45.017 に答える