リモート・リポジトリに登録されていない Jar ファイルを使う

リモート・リポジトリに登録されていない Jar ファイルを使う

Maven2 で外部ライブラリ(以下、Jar ファイルと仮定します。)を使いたい場合、POM ファイルに依存性を付加すれば Maven2 が自動的にダウンロードして使用できるようにしてくれます。 ただし、そのライブラリが Maven2リモート・リポジトリに存在していない時は、この方法ではうまくいきません。 こういった場合、使用したいライブラリを(ダウンロードなどで)入手し、それを自分のプロジェクトから使用できるようにしなければなりません。

ちなみに、こういう状況は

  • ライブラリがマイナー
  • ライブラリがシェア・ウェア
  • 自分の成果物を公開したい

などの場合に起こります。

プロジェクトからライブラリを使えるようにする方法には、だいたい次のようなものがあります(他にも方法はあるかと思いますが)*1

Jar ファイルをローカル・リポジトリへインストールする

この方法は、入手した Jar ファイルを install プラグインに定義されている「 install-file ゴール」によって ローカル・リポジトリへインストールするというものです。  一応、公式に説明されている方法です。

特徴
  • 1度インストールすれば、(PC 上の)どのプロジェクトからも通常の Maven2 プロジェクトとして扱える
  • 別途 POM ファイルを用意すれば、Maven2 プロジェクトと同様に依存性などの設定ができる
  • インストールのためのコマンドが少々長い

インストール方法

sample.jar という Jar ファイルを
groupIdorg.sample
artifactIdsample
version1.0

という設定でローカル・リポジトリにインストールするとします。 これには、コマンド・プロンプトを開き、 sample.jar があるフォルダ上でコマンド

mvn install:install-file -Dfile=sample.jar -DgroupId=org.sample -DartifactId=sample -Dversion=1.0 -Dpackaging=jar

を実行します(1行で)。

別途 POM ファイル(pom.xml)を用意しておけば(sample.jar と同じフォルダ内にあるとします)

mvn install:install-file -Dfile=sample.jar -DpomFile=pom.xml

とします。

プロジェクト内にライブラリとして配置する

この方法は、コマンドの実行などがないので比較的手軽ですが、チョット裏技的方法。

特徴
  • Jar ファイルの配置と POM ファイルの少々の書き換えだけでよい
  • ライブラリが他のライブラリに依存している場合、管理が手間
  • 各プロジェクトごとに設定しなければならない

設定方法

まず、プロジェクトのベース・フォルダに「lib」というフォルダを作成し、そこにライブラリの Jar ファイルを配置します。 そして、POM ファイルに以下のような設定を追加します(上記のサンプルと同じ設定をするとします):
<project>
  ...
  <dependencies>
    <dependency>
      <groupId>org.sample</groupId>
      <artifactId>sample</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${basedir}/lib/sample.jar</systemPath>
    </dependency>
  </dependencies>
</project>

<scope>, <systemPath> 要素の設定がミソ。

*1:ここでは、リモート・リポジトリに配備(deploy)する方法は無視します。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值