Maven: カスタム外部 JAR をプロジェクトにリンクする最適な方法は? 質問する

Maven: カスタム外部 JAR をプロジェクトにリンクする最適な方法は? 質問する

Maven を学習し始めてまだ数日ですが、まだ基礎に苦労しています。プロジェクトで参照する必要がある外部 .jar ファイル (パブリック リポジトリでは利用できません) があり、最適なオプションが何かを探しています。

これはライブラリ用の中央リポジトリのない小規模プロジェクトなので、ローカル リポジトリ (何らかの方法でソース コントロールに追加されますが、そのように動作するかどうかはわかりません) にするか、.jar を正式なリポジトリの外部のディスクに保存する必要があります。

1) プロジェクトとライブラリの両方をソース管理下に置きたい場合、Maven を使用して .jar ファイルをプロジェクトの参照に追加するための最適なオプションは何ですか?

2) Eclipse に依存関係を認識させることができないようです。手動で pom のセクションに追加したところ、m2eclipse の依存関係リストに正常に表示されます。mvn compile と mvn package はどちらも成功しますが、プログラムを実行すると次のようになります。

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
        LibraryStuff cannot be resolved to a type

これは POM を次のように編集した後です:

<dependency>
  <groupId>stuff</groupId>
  <artifactId>library</artifactId>
  <version>1.0</version>
  <systemPath>${lib.location}/MyLibrary.jar</systemPath>
  <scope>system</scope>
</dependency>

pom.xml を上記のように編集済みであっても、mvn install:install-file を実行する必要がありますか?

ありがとう!

ベストアンサー1

プロジェクトリポジトリを作成できるので、run mvn install:install-file新しいコンピュータで作業するたびに作成する必要がありません。

<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/libs</url>
</repository>

<dependency>
    <groupId>dropbox</groupId>
    <artifactId>dropbox-sdk</artifactId>
    <version>1.3.1</version>
</dependency>

/グループID/アーティファクトID/バージョン/アーティファクトID-バージョン.jar

詳細はこのブログ投稿をご覧ください

https://web.archive.org/web/20121026021311/charlie.cu.cc/2012/06/how-add-external-libraries-maven

おすすめ記事