2012-09-12 100 views
15

mavenに依存関係のある.jarファイルをビルドしたいと考えています。残念ながら、ビルドパスに外部の.jarを含める必要があります。 mavenパッケージでこのプロジェクトを構築しようとすると、外部の.jarが見つからないというエラーが表示されます。外部jarをmaven jarビルドプロセスに含めるにはどうすればいいですか?

これらのjarファイルを追加するためにPOMファイルをどのように適応させますか? 現在:

<plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>copy-dependencies</id> 
         <phase>prepare-package</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${project.build.directory}/classes/lib</outputDirectory> 
          <overWriteReleases>false</overWriteReleases> 
          <overWriteSnapshots>false</overWriteSnapshots> 
          <overWriteIfNewer>true</overWriteIfNewer> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2-beta-4</version> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
    </plugins> 

答えて

13

あなたが<scope>system</scope> と依存関係としてビルド・パスに外部jarファイルを含めることができます。このため

チェックこのlink

+0

ありがとう、これは私の場合は正常に動作します。 –

+6

それは正しいと思われますが、例が引用しているように、JDKの一部でない場合はどうなりますか?たとえば、pomと同じディレクトリにあるJARを参照する場合はどうなりますか? (プロジェクトフォルダ内) – mmcrae

+2

うれしいですが、depはあなたのjar/warにパッケージ化されません。 – demaniak

2

簡単な解決策を実行する

一つの方法は、以前の記事で示唆したようMVN、コマンドをインストール経由でローカルのMavenリポジトリにそれを追加することです。

別の簡単な方法は、1)あなたのEclipse IDEでプロジェクト選択Mavenオプションを右クリックしてください。 2)[メイクリポジトリにアーティファクトをインストールまたはデプロイする]オプションを選択し、[次へ]をクリックします。 3)POM &はチェックサムを作成発生確保)グループIDと成果物とバージョンを入力し、あなたのjarファイル4を選択&次のアーティファクトファイルのチェックボックスにある参照をクリックして&パッケージをチェックされ仕上げ、Wallahの瓶

クリックです!あなたの仕事は完了しましたsettings.xmlまたはm2ディレクトリに定義できるローカルリポジトリにjarが追加されました

これで、GroupId、ArtifactId & jarバージョンの単純なMaven依存関係を追加しました。それはあなたの外部の瓶がmavenによってパッケージ化されることです。あなたは.m2フォルダに外部jarファイルを追加するには、コマンドの下に使う必要がある

2

mvn install:install-file -Dfile=[JAR] -DgroupId=[some.group] -DartifactId=[Some Id] -Dversion=1.0.0 -Dpackaging=jar 

これはあなたの.m2フォルダにで与えられたjarファイルを追加します。その後、pom.xmに行き、指定されたグループID、アーティファクトID、およびバージョンとの依存関係を追加するだけです。

関連する問題