一般社団法人 全国個人事業主支援協会

COLUMN コラム

初回の記事としてMavenで外部jarを使う方法を記載します。
なぜこの内容にしたかと申しますと、調べてもうまく動かないやり方しか出てこずだいぶ苦戦したからです。
ビルドパスを通せば外部jarの使用は可能なのですが、Mavenでjarやwarを作成するとエラーが発生します。そのための解決策としてこの記事を書きます。

 

■解決策

今回jarファイルを以下に配置したものとします。

プロジェクト
│└lib
│ └○○.jar
├ pom.xml
以下略

 

Mavenはpomを参照して実行します。
ですのでpomを編集して外部jarを使えるようにします。
それではpomに以下を追記してください。
※○○や任意は各々決めてください。
以下をplugins内に記載します。

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-install-plugin</artifactId>
 <inherited>false</inherited>
 <excutions>
  <excution>
   <id>install-external</id>
   <phase>clean</phase>
   <goals>
    <goal>install-file</goal>
   </goals>
   <configuration>
    <file>${basedir}/lib/○○.jar</file>
    <groupId>任意</groupId>
    <artifactId>任意</artifactId>
    <version>1.0.0(任意)</version>
    <packaging>jar</packaging>
   </configuration>
  </excution>
 </excutions>
</plugin>

 

以下をdependencies内に記載します。

<dependency>
 <groupId>pluginで指定したgroupId</groupId>
 <artifactId>pluginで指定したartifactId</artifactId>
 <version>pluginで指定したversion</version>
</dependency>

 

これでコードは完了です。
何を書いたかというと以降の作業でも行うMave clean時にjarをコピーする処理です。

しかしこれだけではまだビルドエラーが発生してしまいます。
理由はMavenのローカルリポジトリにjarファイルが存在しないからです。
なので次にMavenローカルリポジトリにjarファイルを格納する作業を行います。
やり方はMaven cleanをするだけです。
cleanを行うとpluginに記載したファイルコピーの処理が走り自動でコピーしてくれます。

手順は
①プロジェクトファイルを右クリック→実行→Maven clean
②プロジェクトファイルを右クリック→Maven→プロジェクトの更新

以上、参考になればうれしいです。
閲覧ありがとうございました。

The following two tabs change content below.

栗原 義実

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア