1

私はMavenを初めて使用しますが、nubの質問で申し訳ありません。リポジトリのアーティファクトではなく、私のバージョンのアーティファクトを使用してMavenプロジェクトをビルドする必要があります。

詳細: githubからjbossソースをダウンロードし、maven3を使用してビルドしました。素晴らしかったです。「picketbox」と呼ばれるjbossの依存関係を変更する必要があります。これで、jbossの「pom.xml」のアーティファクトになります。

my_picketbox.jarファイルに独自のバージョンのpicketboxを作成しました。repoからの.jarの代わりに.jarを使用するようにMavenに指示するにはどうすればよいですか?

4

5 に答える 5

3

何かが足りないのかもしれませんが、アーティファクトの名前を明示的に変更した場合は、関連する JBoss POM ファイルpicketboxをに置き換えるだけです。my_picketbox

<dependency>
    <groupId>...</groupId>
    <artifactId>my_picketbox</artifactId>
    <version>...</version>
</dependency>

そしてもちろん、アーティファクトがローカル リポジトリにあることを確認しますmvn install

乾杯、

于 2012-10-08T08:01:53.017 に答える
2

maven-installプラグインを使用してjarファイルをインストールします。

http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html

于 2012-10-08T08:04:17.937 に答える
2

まず、お使いのバージョンの Picketbox をローカルの Maven リポジトリにインストールします。カスタム バージョンが Maven プロジェクトの場合は、次のコマンドを実行して実行できます。

mvn install

カスタム Picketbox バージョンが Maven プロジェクトでない場合は、次のように Jar 自体をローカルの Maven リポジトリにインストールします。

mvn install:install-file -Dfile=my_picketbox.jar -DgroupId=org.picketbox -DartifactId=my_picketbox -Dversion=2.3 -Dpackaging=jar

pom.xml次に、構築中の JBoss プロジェクトのファイルにこのスニペットを追加して、JBoss が依存する Picketbox のバージョンを変更します (ポケットボックスへの既存の依存関係をこれに置き換えます)。

<dependency>
    <groupId>org.picketbox</groupId>
    <artifactId>my_picketbox</artifactId>
    <version>2.3</version>
</dependency>
于 2012-10-08T08:18:51.217 に答える
1
<dependency>
    <groupId>xxx</groupId>
    <artifactId>xxx</artifactId>
    <version>x.x.x</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/xxxx.jar</systemPath>
</dependency>

これにより、MavenCentralではなくローカルに保存されていないライブラリを参照できます。

于 2012-10-08T08:03:10.187 に答える
0

Maven は、POM ファイルで指定されたものを受け取ります。あなたが書いた依存関係を含むPOMは、ダウンロードしたソース内でさえも、非常に深く埋もれている可能性があることに注意してください。

プロジェクト ツリーで問題のアーティファクトを検索し、そのバージョン番号を自分のバージョンに置き換えます。これで問題が解決しない場合は、Nils が他の回答で述べているように実行しますが、アーティファクトを元のバージョンにインストールすることを忘れないでください (最初にローカル リポジトリで見つけて削除する必要がある場合があります)。

于 2012-10-08T08:08:03.137 に答える