2016-12-11 27 views
1

クライアントから提供されたWARファイルに依存関係のあるプロジェクトがありました。私はのpom.xmlに依存関係を追加しました:WARをMavenの依存関係として使用する

<dependency> 
     <groupId>com.oragle.oipa</groupId> 
     <artifactId>PASJava</artifactId> 
     <version>10.2.0.25</version> 
     <type>war</type> 
</dependency> 

しかし、明らかに、私は物理的にファイルを持っているとして、彼らは自動的にMavenによってインストールすることはできません。 Mavenに自分の位置を認識させて私のために設定させるにはどうすればよいですか?

+0

一時間で二upvotes?これはjava-seまたはjsf関連ではありません! – Kukeltje

答えて

0

warがpom.xmlに関連付けられていない場合、別のMavenプロジェクトでMavenの依存関係として使用できるように、Mavenizeする必要があります。

1)Mavenインストールプラグインのinstall-fileゴールを見ることができます。
ローカルリポジトリにpomを生成してデプロイすることができます。あなたの例では

https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

、あなたが生成し、このように戦争のアーティファクトをインストールすることができます:

mvn install:install-file -Dfile=locationOfYourWarFile -DgroupId=com.oragle.oipa 
    -DartifactId=PASJava -Dversion=10.2.0.25 -Dpackaging=war 

2)あなたはまた、プラグインを導入するのMavenのdeploy-fileゴールを見ることができます。
pomを生成してリモートリポジトリにデプロイすることができます。他のユーザーがMavenの依存関係として戦争を必要とする場合には便利です。ここで
http://maven.apache.org/plugins/maven-deploy-plugin/usage.html

は、ドキュメントからの例です:週末

mvn deploy:deploy-file -Durl=file://C:\m2-repo \ 
         -DrepositoryId=some.id \ 
         -Dfile=your-artifact-1.0.jar \ 
         [-DpomFile=your-pom.xml] \ 
         [-DgroupId=org.some.group] \ 
         [-DartifactId=your-artifact] \ 
         [-Dversion=1.0] \ 
         [-Dpackaging=jar] \ 
         [-Dclassifier=test] \ 
         [-DgeneratePom=true] \ 
         [-DgeneratePom.description="My Project Description"] \ 
         [-DrepositoryLayout=legacy] \ 
         [-DuniqueVersion=false] 
関連する問題