1. ホーム
  2. java

[解決済み] Maven: カスタム外部JARを私のプロジェクトにリンクする最良の方法?

2022-04-23 18:49:18

質問

Mavenを学び始めて数日経ちますが、まだ基本的なことで苦労しています。私はプロジェクトで参照する必要がある外部.jarファイル(公開リポジトリで利用できない)を持っており、私は私の最良のオプションが何であるかを把握しようとしています。

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

1) プロジェクトとライブラリの両方をソース管理下に置きたい場合、.jarファイルをmavenでプロジェクトのリファレンスに追加するための最良の選択肢は何ですか?

2) まだEclipseに依存関係を表示させることができないようです。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を実行すべきでしょうか?

ありがとうございます。

解決方法は?

を使用する必要があると思います。 mvn install:install-file を使用してローカルリポジトリにライブラリ jar を投入し、スコープを system から compile に変更する必要があります。

もしmavenで始めるのであれば、IDEプラグインではなくmavenを直接使用することをお勧めします。

エラーについてですが、必要なjarをクラスパスに置いていますか?ライブラリから型を使用する場合、ランタイムでもそれにアクセスする必要があります。これは、maven自体とは関係ありません。

ライブラリーをソース管理する理由がわからない。