2006.06.28 株式会社四次元データ 鈴木 圭
- 3.1. 依存性について
- 3.1.1. 依存性の指定とスコープ
- 3.1.2. groupId, artifactId, version に指定する値の調べ方
- 3.1.3. 実際に依存性の指定を行う
- 3.1.4. ライブラリをローカルリポジトリにインストールする
- 3.2. プラグインについて
- 3.2.1. プラグインの設定方法
- 3.2.2. プラグインの情報の調べ方
- 3.2.3. 実際にプラグインの設定を行う
- 3.3. リモートリポジトリの設定方法
- 3.3.1. リモートリポジトリの種類
- 3.3.2. リモートリポジトリの設定
- 3.4. マルチモジュール・プロジェクト
- 3.4.1. プロジェクトを作成する
- 3.4.2. 親プロジェクトの設定
- 3.4.3. 各モジュールの設定
- 3.5. まとめ
3.1.3. 実際に依存性の指定を行う
それでは実際に依存性の指定を行ってみましょう。
ここでは例として Commons Lang に対する依存性を指定します。
3.1.3.1. Maven Repo Search で Commons Lang を検索する
Maven Repo Searchで「Commons Lang」というキーワードで検索します (JAR を検索したいので、「TYPE:」では「jar」を選択しておきます)。検索結果は以下の通りでした:
これを見ると、Commons Lang の groupId と artifactId はどちらも「commons-lang」であり、バージョン 1.0 から 2.1 までが登録されていることが分かります。
3.1.3.2. pom.xml で依存性の指定を行う
それでは Commons Lang の情報を pom.xml に加えます。ここでは Commons Lang のバージョンは 2.1、スコープは省略 (デフォルトである「compile」) とします:
<project ...> ... <dependencies> ... <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.1</version> </dependency> ... </dependencies> ... </project>
以上で依存性の指定は終わりです。
3.1.4. ライブラリをローカルリポジトリにインストールする
Sun の提供しているライブラリなど、リモートリポジトリに登録されていないライブラリは、手作業でローカルリポジトリにインストールしなければなりません。
ライブラリをローカルリポジトリにインストールするには、次のコマンドを使用します(改行せずに一つのコマンドとして実行):
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
このとき、file パラメータにはインストールするライブラリのパスを指定します。groupId と artifactId, version には適当な値を指定します。packaging にはそのライブラリのパッケージングの種類 (大抵は「jar」) を指定します。
例えば、activation.jar のバージョン 1.1 をインストールには次のコマンドを実行します:
mvn install-file -Dfile=activation.jar -DgroupId=javax.activation -DartifactId=activation -Dversion=1.1 -Dpackaging=jar
このとき、groupId や artifactId などには適当な値を指定することができますが、Sun の提供しているライブラリに関しては、以下に示す groupId と artifactId で登録することが推奨されています:
Product | groupId | artifactId |
---|---|---|
Java Activation Framework | javax.activation | activation |
J2EE | javax.j2ee | j2ee |
JDO | javax.jdo | jdo |
JMS | javax.jms | jms |
JavaMail | javax.mail | |
EJB 3 | javax.persistence | ejb |
J2EE Connector Architecture | javax.resource | connector |
J2EE Connector Architecture API | javax.resource | connector-api |
Java Authentication and Authorization Service | javax.security | jaas |
Java Authorization Contract for Containers | javax.security | jacc |
Servlet | javax.servlet | servlet-api |
Servlet JSP | javax.servlet | jsp-api |
Servlet JSTL | javax.servlet | jstl |
JDBC 2.0 Optional Package | javax.sql | jdbc-stdext |
Java Transaction API (JTA) | javax.transaction | jta |
Java XML RPC | javax.xml | jaxrpc |
Portlet | javax.portlet | portlet-api |
JNDI | javax.naming | jndi |