読者です 読者をやめる 読者になる 読者になる

今更ながらMavenを使ってみた

大雑把な使い方をメモする。

1.新規プロジェクトを作成

下記コマンドで新規プロジェクトを作成。

mvn archetype:create   -DgroupId=(パッケージ名) -DartifactId=(プロジェクト名) -Dversion1.0.0-SNAPSHOT

2.調整

pom.xmlの/project/repositoriesタグに、参照するライブラリの「場所」を記述。
ただし「セントラルリポジトリ」にあるライブラリは記述不要。
セントラルリポジトリに何が登録されているかは下記のサイトで確認する。
http://search.maven.org/#browse

pom.xmlの/project/dependenciesタグに、参照するライブラリの「モノ」を記述。
どのように記述するかは、各ライブラリのサイトで確認する。

例えばSeasarなら、
・repositoriesタグ内に以下を追加
Seasarはセントラルリポジトリに登録されていないのでrepositoriesの記述が必要)

    <repository>
      <id>maven.seasar.org</id>
      <name>The Seasar Foundation Maven Repository</name>
      <url>http://maven.seasar.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>maven-snapshot.seasar.org</id>
      <name>The Seasar Foundation Maven Snapshot Repository</name>
      <url>http://maven.seasar.org/maven2-snapshot</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </snapshots>
    </repository>

・dependenciesタグ内に以下を追加

    <dependency>
      <groupId>org.seasar.container</groupId>
      <artifactId>s2-framework</artifactId>
      <version>2.4.46</version>
    </dependency>
    <dependency>
      <groupId>org.seasar.container</groupId>
      <artifactId>s2-extension</artifactId>
      <version>2.4.46</version>
    </dependency>
    <dependency>
      <groupId>org.seasar.container</groupId>
      <artifactId>s2-tiger</artifactId>
      <version>2.4.46</version>
    </dependency>
  </dependencies>

例えばSpring bootなら、
(Spring bootはセントラルリポジトリに登録されているのでrepositoriesの記述は不要)
・dependenciesタグ内に以下を追加

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>


セントラルリポジトリからダウンロードしたローカルリポジトリはユーザーホームの「.m2/repository」になる。

3.必要に応じて

pom.xmlの/project/build/pluginsタグに、参照するライブラリの「プラグイン」を記述。

例えばSpring bootなら、

    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>


4.その他
社内でやると十中八九セントラルリポジトリのアクセスがプロキシに拒まれるので、MAVEN_HOMEのconf/settings.xmlにプロキシ設定を追記。

  <proxy>
    <active>true</active>
    <protocol>http</protocol>
    <host>xxx.xxx.xxx.xxx</host>
    <port>xxxx</port>
  </proxy>