LoginSignup
13

More than 5 years have passed since last update.

[Maven] m2eでローカルリポジトリにライブラリをインストールする方法

Posted at

前提

Maven のローカルリポジトリに独自のライブラリをインストールしたくなったとします。

でもその環境は、Eclipse+m2e プラグインで Maven を使っていて、Maven のコマンドがインストールされていないし、する予定もないとします。
(理由は「インストールが面倒だ」でも「他人の環境の設定を依頼されただけだから」でも、なんでもいいです)

もちろん、system スコープで依存関係を足して解決でもいいのですが、あえてローカルリポジトリに入れることを考えます。

環境

今回の環境は以下のとおり。あまり関係ないと思いますが。

  • Windows 7 SP1
  • Java 8u65
  • Eclipse 4.5.1
  • m2e 1.6.2 (Maven 3.3.3)

方法

ローカルリポジトリにライブラリ(Jar)を追加する方法は、一般的に以下のようなコマンドを実行することだと思います。

mvn install:install-file \
    -Dfile=【Jarの絶対パス】 \
    -DgroupId=【GroupID】 \
    -DartifactId=【ArtifactId】 \
    -Dversion=【バージョン】 \
    -Dpackaging=jar \
    -DgeneratePom=true

でも、その環境は Eclipse+m2eプラグインでMavenを使っているらしく、mvn コマンドが見つからない。
(どこかにあるのかもしれないけど、よくわからない)

仕方ないので、m2eプラグイン上からライブラリを追加する方法を検討しました。
とりあえず、以下の手順で動作確認をしてみました。

  1. Eclipse のコンソールビューの右端の「Open Console」アイコンから「Maven Console」を選択して開いておく
  2. 適当な pom.xml を右クリックして、"Run As" ⇒ "Maven build..." を選択
  3. Goals に -v を入力して実行
  4. 通常の Console にバージョン情報、Maven Console に実行したコマンドが表示される(今回は mvn -B -v が実行されていた)

どうやら、ゴールに指定したものは、単純に引数に追加されているだけっぽい。引数を2つで試してみても動いているみたい。

なので、Goals に引数を無理やり全部書けば動かせそうな気がしますね。試してないけど。ただ、引数が長すぎるのは面倒。

Maven の install プラグインのマニュアルを見ると、pom.xml で定義したプロパティを使ってくれると書いてありました。

参考: Apache Maven Install Plugin - install:install-file

そこで、適当な Maven プロジェクトを作って、以下のように pom.xml を書いてみました。

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test.maven.lib.installl</groupId>
  <artifactId>test.maven.lib.installl</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <properties>
    <file>【Jarの絶対パス】</file>
    <groupId>【GroupId】</groupId>
    <artifactId>【ArtifactId】</artifactId>
    <version>【バージョン】</version>
    <packaging>jar</packaging>
    <generatePom>true</generatePom>
  </properties>
</project>

そして、この pom.xml を右クリックして "Run As" ⇒ "Maven build..." を選択、Goals に install:install-file を入力して実行。
成功したら、念のため Maven Repositories ビューで、ローカルリポジトリを rebuild しておきます。

すごく便利な方法というわけではありませんが、とりあえず忘れないうちにメモしておきます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13