0

Maven プロジェクトにインポートすることになっている 2 つの JAR があります。このチュートリアル (ここをクリック) に従い、これらの JAR を Maven プロジェクトにインポートしました。基本的に、ターミナルでこのコードを実行して mvn install:install-file -Dfile=myfile.jar -DgroupId=mygroup -DartifactId=com.mygroup.project -Dversion=1.0 -Dpackaging=jar -DlocalRepositoryPath=lib -DcreateChecksum=true から、ライブラリを Maven プロジェクトにインポートしました。

これはすべて正常に機能します。ただし、インポートする JAR 自体にはほとんど依存関係がないはずです。私が理解しているように、Maven は内部依存関係を自動的に処理します。これで、依存関係のリスト (グループ ID、アーティファクト ID、およびバージョンを含む) ができましたが、それらをどこに書き込むべきかわかりません。ライブラリのフォルダー 1.0 に、myjar-1.0.pom というファイルがあります。そこに依存関係を書き込もうとしましたが、役に立ちませんでした。

Maven にいくつかの依存関係をロードするように手動で指示する方法を教えてください。

また、メインのpom.xmlでこれらの依存関係を指定しようとしましたが、エラーが発生します - repo-url/dependency/file.pomが見つからないということです。したがって、内部依存関係でのみ言及する必要があると思いますが、それらを手動で定義する方法がわかりません。それらのライブラリ内に pom.xml を作成する必要がありますか、それとも見逃しているものがありますか?

4

3 に答える 3

0

次の JAR と依存関係があるとします。

myMavenProject
--> library1.jar
    --> library2.jar
    --> library3.jar

(あなたlibrary1の ,は Maven プロジェクトlibrary2ではないと仮定しています)library3

library1library2およびごとに、以前と同じようlibrary3に実行mvn install:install-fileします。

mvn install:install-file -Dfile=library1.jar -DgroupId=com.mygroup.project -DartifactId=library1 -Dversion=1.0 -Dpackaging=jar

groupId(私はあなたとここを交換することに注意してくださいartifactId

次に、Maven プロジェクトで、pom.xml次のように更新します。

<dependency>
    <groupId>com.mygroup.project</groupId>
    <artifactId>library1</artifactId>
    <version>1.0</version>
</dependency>
<dependency>
    <groupId>com.mygroup.project</groupId>
    <artifactId>library2</artifactId>
    <version>1.0</version>
</dependency>
<dependency>
    <groupId>com.mygroup.project</groupId>
    <artifactId>library3</artifactId>
    <version>1.0</version>
</dependency>

非常に具体的な要件がない限り-DlocalRepositoryPath=lib、ローカルの M2 リポジトリを使用せずに Maven に追加のオプションを用意する理由がわかりません。

于 2013-07-24T02:46:08.293 に答える
0

あなたはこれを行うことができます:

  1. jar の pom を作成し、pom で依存関係を宣言します。
  2. user mvn install:install-file -Dfile=path-to-your-artifact-jar -DpomFile=path-to-pom jar をインストールします。

リンク: http://maven.apache.org/plugins/maven-install-plugin/examples/custom-pom-installation.html

于 2013-07-24T02:36:34.597 に答える
0

あなたがフォローしているチュートリアルは機能しているかもしれませんが、それはMaven Way ではありません! この道を行くと、途中でトラブルに見舞われます!

Maven ユーザー センターまたはMaven の本とリソースのページからチュートリアルを読んだほうがよいでしょう。Maven:たとえば、決定的なガイドはオンラインで無料で入手できます。

あなたが現在行っているアプローチが良くない理由と、これを改善する方法については、Stephen Connolly の非常に優れたブログ投稿で言及されています (Stephen はアクティブな Maven 開発者です)。

于 2013-07-24T07:54:46.607 に答える