2011-11-14 31 views
0

私は働いているUtilsというMavenプロジェクトを持っています。私はまた、Utilsのクラスを使用するAという別のプロジェクトを持っています。だから、私はAのPOMのUtilsに依存関係を追加しました。私は、2つのプロジェクトがローカルリポジトリ(または別のプライベートリポジトリ)にインストールされていないということを正確に示しています。プロジェクトAをパッケージ化しようとすると、MavenがローカルリポジトリとセントラルリポジトリからUtilsプロジェクトを取得しようとするためにエラーが発生しますが、そこにはありません。私はプロジェクトが最終的なものではないので、プロジェクトをインストールしたくありません。リリースがないので、バージョンを与えたくありません。依存関係とワークスペースプロジェクト

おかげ

答えて

0

Eclipse上のMavenプラグインがこの可能性を提供しているようです。アクティブなプロジェクトに対応する成果物をローカルリポジトリにインストールする必要はありません。プラグインはワークスペースを2番目のローカルリポジトリと見なしているようです(これはMavenリポジトリビューを使って見ることができます)。まず、ワークスペース解決機能を有効にする必要があります(プロジェクトを右クリックしてからMavenで右クリックします)。私はプロジェクトを実行したいとき、私は実行構成ウィザードを使用し、解決ワークスペースをチェックする必要があります。

良い解決法ですか?私はそれがちょうどうまくいくか、それとも本当にうまくいくかわかりません。

ありがとうございました

+0

最後に、それは私のために働いて、リポジトリにプロジェクトをインストールする必要はありません。ワークスペースは、Eclipseによってローカル・リポジトリーと見なされる場合があります。 –

0

これは、ローカルリポジトリにプロジェクトをインストールしても安全です。 Utilsのプロジェクトフォルダにmvn installと入力してください。 installを実行するといつでも、あなたのローカルレポで最新のものに置き換えられます。

しかし、それを展開しないと、他の人が使用できることを意味します。比較すると、あなたのローカルレポはあなただけが使用します。

+0

私の場合、私はリモートリポジトリにアーティファクトをインストールしたくありません。私もこの操作を禁止したい。しかし、誰もがMavenのリモートリポジトリ(http://repo1.maven.org/maven2)に案件を展開する可能性があるのだろうかと思いますか? –

+0

'mvn install'は、ローカルリポジトリ(ハードドライブのユーザプロファイルディレクトリの' .m2'フォルダ)にアーティファクトをインストールします。 repo1.maven.orgは、基本的にオープンソースの公共図書館です。あなたの会社が開発者の間で共有されるレポを必要とする場合は、独自のレポ、_Artifactory_または_Nexus_のgoogleをインストールする必要があります。 – kan

+0

はい、私は私が取り組んでいる多くのプロジェクトで私のワークスペースを持っています。前の例の後、Utilsのコードを変更するたびに、アプリが公開されていない場所でもアーティファクトを再インストールする必要があります。 –