0

プロジェクトの初日とMavenでの初日、そして私はすでにプロジェクトを構築するために多くの時間を無駄にしてきました。

問題は、この古いプロジェクトに、多くの壊れたURLが埋め込まれている構成やPOMなどがあることです。つまり、Mavenで生成されたスタックトレースは、プロジェクトの依存関係をダウンロードしようとしたときに壊れたURLを多数表示しています。

Maven構成ファイルを含むプロジェクトソースのみが提供されています。私は既存のMavenリポジトリー、プロジェクトに依存するライブラリー、またはビルド環境などを提供されていません。これらのファイルをハッキングしてきましたが、ビルドを試みるたびにそれほど遠くはありません。

私は根本的に間違ったことをしていますか、それともこのMaven構成は2008年に本当にスタックしていますか?

アップデート:

私のPOMは、2008年に本当に行き詰まりました。つまり、バージョン管理のおかげで、Javaの残りの世界が進む間、それは時間のスナップショットです。

一部の依存関係はリポジトリに存在しなくなり、そのほとんどは機能しなくなったプロジェクトであったため、使用を中止しました。POM全体を書き直さなければなりませんでした。依存関係間およびプラグイン間の互換性を確保するために、バージョンの調整に多くの時間を費やす必要がありました。多くの戦いの後; 一部のプラグインは共存せず、互いに混乱します。

全体として、それは多くの、何時間もの努力でした...たった一人の開発者によるこのプロジェクトには多すぎました、そして私は今や危険であることが十分にわかっているだけだと思います。この場合、古き良きIDEビルドシステムの方が適していたでしょう。

4

1 に答える 1

3

ftrのアドバイス(コメントセクション)は正しいです:Mavenは特定の依存関係をダウンロードできませんが、それは必ずしもそれらの依存関係がもう存在しないことを意味するわけではありません。Maven構成の追加リポジトリセクションに特定のリポジトリがないか、他の接続の問題がある可能性があります(プロキシ構成の不良など、特定のリポジトリにアクセスできるが他のリポジトリにはアクセスできない可能性があります)。

私も同様の状況にあり、最初にMavenが依存関係の約80%をダウンロードしようとしたときにエラーを報告しましたが、Mavenの構成をさまざまに調整した後、すべての依存関係をダウンロードすることになりました(1つを除く)実際には誰かが行ったカスタムjarであり、ローカルファイルシステムから直接フェッチされましたが、それは重要ではありません)。

これが私がすることです:

  • Mavenがダウンロードできないと言っているすべての依存関係の中で、「よく知っている」2つまたは3つを見つけてみてください(サーブレットやSpringライブラリをダウンロードできないと言っている場合は、彼がしようとしている正確なURLを書き留めてください。それらの連絡先)。

  • それらのURLが実際にアクセス可能かどうかを手動で確認します(ブラウザ経由)。その場合は、Mavenが探しているバージョンの依存関係が存在することを確認してください。プロジェクトが作成されてから更新されており、古いバージョンは保持されていない可能性があります。この場合、解決策の90%は、Mavenのpomを更新して新しいバージョンを指すようにすることです。

  • 依存関係のURLを手動でチェックすると、実際に依存関係が存在することがわかります。Mavenが探しているバージョンでは、ブラウザーに対して実行されるが、Mavenに対して実行されないプロキシまたはその他の形式のインターネット接続「追加構成」がないことを確認してください。 。その場合は、Mavenの構成をそれらすべての追加パラメーター(プロキシ、プロキシ認証など)で更新するだけです。

  • 依存関係のURLがまったく存在しない場合は、グーグルでその依存関係が他のリポジトリに存在しないかどうかを確認してください。たとえば、JBossの依存関係の多く(Hibernateなど)は、2007年から2009年頃にリポジトリの場所を変更しました。その場合は、新しいリポジトリをMavenのリポジトリリストに追加するだけです(古いリポジトリが存在しない場合は削除します)。

  • 最後に、これを修正する古き良き恥ずべき方法は、ある時点でプロジェクトに関係している(または関係している)同僚に行き、彼のローカルMavenリポジトリをマシンにコピーすることです:)

于 2013-03-05T10:39:03.173 に答える