2

プロジェクトで使用したい Java ライブラリがあります。私のプロジェクトは Maven を使用して依存関係を取り込みますが、この 1 つのライブラリを除くすべてでうまく機能します。問題は、このライブラリにはリリースがないことです。作成者はソースを Subversion リポジトリに保持し、トランクのみに変更を加えます。

Mavenに指示できる方法はありますか

  1. ライブラリのソース ツリーを Subversion から更新 (またはチェックアウト) します。
  2. POMに従ってビルドする
  3. 結果のjarをこのプロジェクトの依存関係として使用します
  4. これを定期的に (おそらくビルドごとに) 行う
  5. ボーナス ポイントとして、そのライブラリのどの Subversion リビジョンを使用したいかをマークします

ありがとう!

4

5 に答える 5

0

はるかに単純で効果的な解決策は次のようになりません。

  • ソースをチェックアウトし、アーティファクトをビルドし、制御下のMavenリポジトリにデプロイするシェルスクリプト/batファイルを作成します。
  • スナップショットの依存関係を使用すると、アーティファクトにタイムスタンプが取得され、プロジェクトの各ビルドでアーティファクトの最新バージョンが使用され、プロジェクトのpom.xmlをまったく更新する必要がなくなります。
  • プロジェクトのpom.xmlでantタスクを使用して、プロジェクトのビルドサイクルにフックし、アーティファクトをビルドしてデプロイするシェルスクリプトを実行できます。
于 2010-04-11T06:11:12.697 に答える
0

オープンソースのことをしなさい:

ライブラリの作者に連絡することができます。私は彼がいくつかのフィードバックを喜んで得ているに違いない。彼にあなたが必要なものを知らせてください、彼はただそれをするかもしれません。または、ライブラリの機能化やリリースのサポートを提供します。このようにして、他のユーザーも利益を得ます。

いくつかのオープンソースプロジェクトの開発者として、私はその種のフィードバックが好きです。

于 2010-04-11T06:26:09.160 に答える
0

ビルドを再現できるようにするために、オープン ソース プロジェクトを自分でチェックアウトしてビルドし、Maven リポジトリにインストールすることをお勧めします。そうすれば、POM で特定のバージョンを参照できるため、ビルドは常に再現可能になります。

于 2010-04-12T04:03:18.273 に答える
0

継続的インテグレーション ソリューションである Hudson をそのSubversion プラグインと共に使用して、ソースを定期的にチェックアウトすることができます。

Hudson がソースのチェックアウトに成功したら、修正したAnt スクリプトを実行してソースをビルドし、ローカル/リモートの Maven リポジトリにデプロイできます。

于 2010-04-11T13:04:57.303 に答える
0

何かをコントロールしなければ、それをコントロールすることはできません。だから私は:

  • プロジェクトリポジトリからソースをチェックアウトします
  • それらをVCのバージョン管理下に置きます
  • リリースをビルドします (そして、VC でライブラリにタグを付けます)
  • 企業リポジトリを通じてリリースされたアーティファクトを配布する

これ以上自動化する必要はありません (作成者がコードを壊す何かをコミットした場合、リリースされたバージョンのコードのバグを修正する必要があるが、まったく同じライブラリを使用できない場合)。ソース管理下に置き、リリースを自分で管理します。

于 2010-04-11T12:36:17.123 に答える