web-dev-qa-db-ja.com

Maven:Eclipseにjarを含める方法。リポジトリにはありません。

JARをsrc\main\webapp\WEB-INF\libにコピーしました。
私はEclipseを使用しています。 jarを1つずつProject-> Java Build Path-> Add jarsに追加した場合、Project-> Maven-> Update Project Configurationを実行すると、Mavenによって削除されます。そして、Eclipseは「xxxを解決できません」を含むエラーを表示します。

Env:
Eclipse Java EE IDE for Web Developers.
Version: Indigo Service Release 1
Build id: 20110916-0149

m2e - Maven Integration for Eclipse 1.0.100.20110804-1717

注:自分のMavenリポジトリーを作成したくありません。一度だけ使用します。
どうすればよいですか?

13
fjjiaboming

すべてのライブラリがパブリックMavenリポジトリにあるわけではありません。たとえば、独自のライブラリや独自のライブラリなどです。とにかく最初にできること Mavenリポジトリーを検索 、おそらくそれらのいくつかはそこにあります。

それらが実際に存在せず、 Nexus または Artifactory をインストールしたくない場合は、次の2つの方法のいずれかを選択できます。

  • jarをローカルリポジトリキャッシュにインストールします。特別なリポジトリを作成する必要はありません。 mkyongの説明 を参照してください。

  • 別のアプローチは、システムの依存関係を使用することです。ファイルシステムのJARに到達するためのパスを置くだけです。これはあまり推奨されない方法ですが、本当に必要な場合は機能します。これが 公式ドキュメント です。

18
stivlo

これにa Systems Dependency を追加します。


これを追加する場合(これは例としてjquantlibを使用します)をMavenローカルリポジトリの使用に追加します。

mvn install:install-file -Dfile=./jquantlib-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib -Dversion=0.2.4 -Dpackaging=jar

これを行うには、バッチファイルを使用します

@echo off

cd lib

CMD /C "mvn install:install-file -Dfile=./jquantlib-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib -Dversion=0.2.4 -Dpackaging=jar"
CMD /C "mvn install:install-file -Dfile=./jquantlib-helpers-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-helpers -Dversion=0.2.4 -Dpackaging=jar"
CMD /C "mvn install:install-file -Dfile=./jquantlib-samples-0.2.4-ubber.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-ubber -Dversion=0.2.4 -Dpackaging=jar"
CMD /C "mvn install:install-file -Dfile=./jquantlib-samples-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-samples -Dversion=0.2.4 -Dpackaging=jar"

CMD /C "mvn install:install-file -Dfile=./ta-lib-0.4.0.jar -DgroupId=com.tictactec -DartifactId=ta-lib -Dversion=0.4.0 -Dpackaging=jar"

他のシステムでも同様のスクリプトファイルを使用できます。

ローカルリポジトリにない外部JARファイルを追加するには、メインソースフォルダーを右クリックし、ビルドパスメニューから[ビルドパスの構成]を選択して、[ライブラリ]タブに移動し、[外部JARファイルの追加]をクリックします。次に、ライブラリとして追加するJAR(またはZip)ファイルを見つけ、[OK]をクリックします。

おめでとうございます。これで、ビルドパスに外部JAR(またはZip)が正常に追加され、エラーをスローすることなく、プロジェクト内のそのJARファイルからクラスをインポートできるようになりました 写真の方法:) http:// hostthenpost.org/uploads/541be8420657320c74489ff8d456ad08.png

0
Nathan Meyer

他に選択の余地がない限り、システム依存関係のアプローチは使用すべきではないと私は思います。もちろん、jarをプロジェクトのソースファイルと一緒にソース管理システムに保存することもできますが、私はそれが良いアプローチだとは思いません...

Install:install-fileだけでは十分ではありません-これは確かにjarを適切な形式でローカルリポジトリにデプロイしますが、別のコンピューターに移動してそこでプロジェクトのビルドを開始するとどうなりますか?これをもう一度作成する必要があります。

したがって、nexus/artifactoryをインストールしない場合(これが最良の解決策だと思います)、おそらく別のリポジトリを作成し(一部のサーバーのファイルシステムにのみ)、そこにjarをデプロイする必要があります(ここで提案されているようにmvn install:install-fileを使用してから、ツリー全体をコピーできます)。これで、Apache Webサーバーを構成し、http経由ですべてのjarを含むディレクトリにアクセスできます。私はそれがネクサス/アーティファクトリーよりも優れているとは信じていませんが、Apache Webサーバーに慣れている場合は少し簡単です。 Mavenにこの新しいリポジトリーを認識させるには、%MAVEN_HOME%\ conf\settings.xmlファイルを編集する必要があります

0
Mark Bramnik