MavenリポジトリにないローカルjarをPom.xmlに書く方法 ホームページ制作 | 墨田区

MavenリポジトリにないローカルjarをPom.xmlに書く方法

LINEで送る
Pocket

MavenセントラリポジトリにないローカルjarファイルをPom.xmlに書く方法のご紹介です。
MavenリポジトリにないローカルjarをPom.xmlに書く方法

以前、「Mavenプロジェクトにローカルjarファイルを追加する方法」で紹介した system スコープを使った方法では、mvn install するとWARNINGが発生して jar ファイルが含まれないということがわかりました。

具体的には、「Spring BootでORACLEデータベースに接続する方法」で紹介した ojdbc7.jar が mvn install で war ファイルに含まれないといった事象がおこりました。そのため war ファイルを Tomcat にデプロイしたら Web アプリが起動しないということになりました。

今回は warファイルにローカルjarを含める方法 を掲載しておきます。

Pom.xmlの編集

ライブラリを指定します。この時、scope と systemPath は指定しません。
※version は 12.1.0 と ORACLE の利用バージョンを適用していますが、なんでもいいです。
<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc7</artifactId>
  <version>12.1.0</version>
</dependency>

次に、maven-install-plugin を設定します。
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-install-plugin</artifactId>
      <executions>
        <execution>
          <id>install-external</id>
          <phase>clean</phase>
          <configuration>
            <file>${basedir}/lib/ojdbc7.jar</file>
            <repositoryLayout>default</repositoryLayout>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc7</artifactId>
            <version>12.1.0</version>
            <packaging>jar</packaging>
            <generatePom>true</generatePom>
          </configuration>
          <goals>
              <goal>install-file</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

mvn clean もしくは、Eclipse の[実行(Run As)]-[Maven Clean]を実行すれば、maven-install-plugin が動作します。Eclipseを使ってるので、ローカルリポジトリに ojdbc7.jar 関連のリポジトリが出来上がりました。
ローカルリポジトリにojdbc7.jar関連のリポジトリができた

コマンドの場合は、下記で OK かと。
mvn install:install-file -Dfile=ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0 -Dpackaging=jar

-DfileJarファイルへのパス
-DgroupIdグループID
-DartifactIdアーティファクトID
-Dversionバージョン
-Dpackagingjar

mvn install もしくは、Eclipse の[実行(Run As)]-[Maven Install]を実行して war ファイルを確認しましょう。

おおお、ちゃんと入っていますね^^

ローカルjarがwarに含まれた

参考サイト

Maven and adding JARs to system scope – Stack Overflow

まとめ

出来上がった war ファイルを Tomcat にデプロイして動作確認したところ、正しく動作しました。

ふう、一件落着ですね^^

おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

コメントを残す

コメント(必須)

お名前 (必須)
メールアドレス
(アドレスは公開されません)

Trackback URL