[解決済み】Maven:相対パスでjarに依存関係を追加する
質問
プロプライエタリなjarがあり、それをpomに依存関係として追加したいのですが、どうすればいいですか?
しかし、リポジトリに追加したくありません。というのも、通常のmavenコマンド、たとえば
mvn compile
などを、すぐに使えるようにすることです。(開発者が自分でリポジトリに追加することを要求せずに)。
jarをソース管理下のサードパーティーのlibに置き、pom.xmlファイルから相対パスでリンクさせたいのです。
これは可能なのでしょうか?どのように?
どのように解決するのですか?
<ブロッククオートjarをソース管理下のサードパーティーのlibに置き、pom.xmlファイルから相対パスでリンクさせたいのですが。
あなたが本当にこれを望むなら(企業のリポジトリを使用できない場合は理解してください)、私のアドバイスは、プロジェクトにローカルの "ファイルリポジトリ" を使用することであり
使用しない
a
system
スコープされた依存関係。その
system
このような依存関係は多くの状況 (たとえばアセンブリ) でうまく機能せず、利点よりも問題を多く引き起こします。
そこで、代わりに、プロジェクトにローカルなリポジトリを宣言します。
<repositories>
<repository>
<id>my-local-repo</id>
<url>file://${project.basedir}/my-repo</url>
</repository>
</repositories>
サードパーティのライブラリをインストールするには
install:install-file
と共に
localRepositoryPath
パラメータを使用します。
<ストライク
<ストライクmvn install:install-file -Dfile=<path-to-file> -DgroupId=<myGroup> \
-DartifactId=<myArtifactId> -Dversion=<myVersion> \
-Dpackaging=<myPackaging> -DlocalRepositoryPath=<path>
<ストライク
更新しました。
が表示されているようです。
install:install-file
は無視されます。
localRepositoryPath
バージョン2.2のプラグインを使用した場合。しかし、バージョン2.3以降のプラグインでは動作します。そのため、プラグインの完全修飾名を使用して、バージョンを指定してください。
mvn org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file \
-Dfile=<path-to-file> -DgroupId=<myGroup> \
-DartifactId=<myArtifactId> -Dversion=<myVersion> \
-Dpackaging=<myPackaging> -DlocalRepositoryPath=<path>
maven-install-plugin documentation
最後に、他の依存関係と同じように宣言します。
system
のスコープを使用します)。
<dependency>
<groupId>your.group.id</groupId>
<artifactId>3rdparty</artifactId>
<version>X.Y.Z</version>
</dependency>
を使うよりも良い解決策だと思います。
system
スコープを使用すると、依存関係は善良な市民として扱われます (たとえば、アセンブリに含まれるようになります)。
さて、企業環境においてこの状況に対処する正しい方法は、(ここではそうではないかもしれませんが)企業リポジトリを使用することであることを述べておきます。
関連
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] Mavenに最新バージョンの依存関係を使用するように指示するにはどうすればよいですか?
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み】MavenリポジトリでOracle JDBCドライバを検索する
-
[解決済み] Maven: カスタム外部JARを私のプロジェクトにリンクする最良の方法?
-
[解決済み] Mavenで依存関係を追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] Javaでのスキャナが動作しない
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] javax.mail.MessagingException: SMTPホストに接続できませんでしたか?
-
[解決済み] ORA-01654: インデックスを拡張できません。
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました
-
[解決済み] build.gradle ファイルにローカルの .jar ファイルの依存関係を追加するにはどうすればよいですか?