リモート・リポジトリに登録されていない Jar ファイルを使う
来源:互联网 发布:php erp源码 编辑:程序博客网 时间:2024/05/17 01:59
リモート・リポジトリに登録されていない Jar ファイルを使う
Maven2 で外部ライブラリ(以下、Jar ファイルと仮定します。)を使いたい場合、POM ファイルに依存性を付加すればMaven2 が自動的にダウンロードして使用できるようにしてくれます。 ただし、そのライブラリがMaven2 のリモート・リポジトリに存在していない時は、この方法ではうまくいきません。 こういった場合、使用したいライブラリを(ダウンロードなどで)入手し、それを自分のプロジェクトから使用できるようにしなければなりません。
ちなみに、こういう状況は
- ライブラリがマイナー
- ライブラリがシェア・ウェア
- 自分の成果物を公開したい
などの場合に起こります。
プロジェクトからライブラリを使えるようにする方法には、だいたい次のようなものがあります(他にも方法はあるかと思いますが)*1:
- Jar ファイルをローカル・リポジトリへインストールする
- プロジェクト内にライブラリとして配置する
Jar ファイルをローカル・リポジトリへインストールする
この方法は、入手した Jar ファイルを install プラグインに定義されている「install-file ゴール」によってローカル・リポジトリへインストールするというものです。 一応、公式に説明されている方法です。
特徴
- 1度インストールすれば、(PC 上の)どのプロジェクトからも通常の Maven2 プロジェクトとして扱える
- 別途 POM ファイルを用意すれば、Maven2 プロジェクトと同様に依存性などの設定ができる
- インストールのためのコマンドが少々長い
インストール方法
sample.jar という Jar ファイルを
という設定でローカル・リポジトリにインストールするとします。 これには、コマンド・プロンプトを開き、 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)する方法は無視します。
- リモート・リポジトリに登録されていない Jar ファイルを使う
- INITIAL-D-FIRST STAGE - 第3话 『ダウンヒルスペシャリスト登場』
- せっかく読者を一人捕まえたので、今日久しぶりにblogに登録します。
- 社説 20150727 山岳遭難事故 体力や技術と相談して登ろう
- 登香山
- 登西山
- 拉登-----
- 登白云山
- 退出登
- 登泰山
- 登机箱
- 登台阶
- 人员登入2 ---登入页面
- 人员登入5---实现登入
- 关于登峰
- 王小丫与拉登
- 克莱登情结
- 七绝--登楼
- xcode4.2 真机联机测试 adhoc
- android ndk 入门
- 链表的创建,插入,删除
- 10个让你早起的技巧
- CListCtrl使用技巧
- リモート・リポジトリに登録されていない Jar ファイルを使う
- 2012-06-14
- 网页定时刷新
- Oracle11g连接池信息的修改
- windbg调xp的calc(手工虚拟地址到物理地址转换练习)
- PeopleTools Tables (Where the MetaData is Stored)
- git rebase简介(高级篇)
- Hibernate核心接口简介
- DB Link