Mavenの実行

それではMavenを動かしながら、Mavenの学習を進めます。

Mavenのヘルプ

Mavenは、コマンドmvn + オプションで様々な操作を行います。ヘルプを見てみます。

[root@javabean ~]# mvn --help

usage: mvn [options] [<goal(s)>] [<phase(s)>]

Options:
 -C,--strict-checksums         Fail the build if checksums don't match
 -c,--lax-checksums            Warn if checksums don't match
 -P,--activate-profiles        Comma-delimited list of profiles to
                               activate
 -ff,--fail-fast               Stop at first failure in reactorized builds
 -fae,--fail-at-end            Only fail the build afterwards; allow all
                               non-impacted builds to continue
 -B,--batch-mode               Run in non-interactive (batch) mode
 -fn,--fail-never              NEVER fail the build, regardless of project
                               result
 -up,--update-plugins          Synonym for cpu
 -N,--non-recursive            Do not recurse into sub-projects
 -npr,--no-plugin-registry     Don't use ~/.m2/plugin-registry.xml for
                               plugin versions
 -U,--update-snapshots         Update all snapshots regardless of
                               repository policies
 -cpu,--check-plugin-updates   Force upToDate check for any relevant
                               registered plugins
 -npu,--no-plugin-updates      Suppress upToDate check for any relevant
                               registered plugins
 -D,--define                   Define a system property
 -X,--debug                    Produce execution debug output
 -e,--errors                   Produce execution error messages
 -f,--file                     Force the use of an alternate POM file.
 -h,--help                     Display help information
 -o,--offline                  Work offline
 -r,--reactor                  Execute goals for project found in the
                               reactor
 -s,--settings                 Alternate path for the user settings file
 -v,--version                  Display version information

Mavenの実行

Mavenにはプロジェクトのひな形(スケルトン)を作成する機能があります。
この機能を利用する事にします。
プロジェクトの最終成果物として、JARファイルが生成されるプロジェクトを想定して、実行します。

以下のコマンドを実行します。

mvn archetype:create -DgroupId=com.example -DartifactId=sample
archetype
create :プロジェクトのスケルトン作成
-DgroupId
プロジェクトのルートパッケージ名
-DartifactId
プロジェクト名

このように、mvn -D[KEY]=[VALUE]として、システムプロパティを設定しています。

実行すると、必要なライブラリをリモートリポジトリからダウンロードしてきて、ローカルリポジトリに格納しています。

[root@javabean ~]# mvn archetype:create -DgroupId=com.example -DartifactId=sample
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] org.apache.maven.plugins: checking for updates from central
[INFO] org.codehaus.mojo: checking for updates from central
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/1.0-alpha-4/maven-archetype-plugin-1.0-alpha-4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/1.0-alpha-4/maven-archetype-1.0-alpha-4.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-parent/1/maven-parent-1.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/apache/1/apache-1.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/1.0-alpha-4/maven-archetype-plugin-1.0-alpha-4.jar
9K downloaded
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:create] (aggregator-style)
[INFO] ----------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype-core/1.0-alpha-4/maven-archetype-core-1.0-alpha-4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0/maven-model-2.0.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven/2.0/maven-2.0.pom
8K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom
492b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
5K downloaded
Downloading: http://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom
145b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom
7K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom
723b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom
4K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.pom
7K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom
471b downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom
5K downloaded
Downloading: http://repo1.maven.org/maven2/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.pom
168b downloaded
Downloading: http://repo1.maven.org/maven2/commons-collections/commons-collections/2.0/commons-collections-2.0.pom
171b downloaded
Downloading: http://repo1.maven.org/maven2/velocity/velocity/1.4/velocity-1.4.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/velocity/velocity-dep/1.4/velocity-dep-1.4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-utils/1.0.2/plexus-utils-1.0.2.pom
740b downloaded
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom
365b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
767b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype-creator/1.0-alpha-4/maven-archetype-creator-1.0-alpha-4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0/maven-project-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype-model/1.0-alpha-4/maven-archetype-model-1.0-alpha-4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.pom
140b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.pom
439b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.4/plexus-components-1.1.4.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
601b downloaded
Downloading: http://repo1.maven.org/maven2/commons-logging/commons-logging-api/1.0.4/commons-logging-api-1.0.4.jar
25K downloaded
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
306K downloaded
Downloading: http://repo1.maven.org/maven2/velocity/velocity/1.4/velocity-1.4.jar
352K downloaded
Downloading: http://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar
63K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.2/plexus-velocity-1.1.2.jar
7K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype-creator/1.0-alpha-4/maven-archetype-creator-1.0-alpha-4.jar
21K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype-core/1.0-alpha-4/maven-archetype-core-1.0-alpha-4.jar
22K downloaded
Downloading: http://repo1.maven.org/maven2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
106K downloaded
Downloading: http://repo1.maven.org/maven2/velocity/velocity-dep/1.4/velocity-dep-1.4.jar
505K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-5/plexus-archiver-1.0-alpha-5.jar
129K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype-model/1.0-alpha-4/maven-archetype-model-1.0-alpha-4.jar
15K downloaded
Downloading: http://repo1.maven.org/maven2/commons-collections/commons-collections/2.0/commons-collections-2.0.jar
88K downloaded
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] **************************************************************
[INFO] Starting Jakarta Velocity v1.4
[INFO] RuntimeInstance initializing.
[INFO] Default Properties File: org/apache/velocity/runtime/defaults/velocity.properties
[INFO] Default ResourceManager initializing. (class org.apache.velocity.runtime.resource.ResourceManagerImpl)
[INFO] Resource Loader Instantiated: org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader
[INFO] ClasspathResourceLoader : initialization starting.
[INFO] ClasspathResourceLoader : initialization complete.
[INFO] ResourceCache : initialized. (class org.apache.velocity.runtime.resource.ResourceCacheImpl)
[INFO] Default ResourceManager initialization complete.
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Literal
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Macro
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Parse
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Include
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Foreach
[INFO] Created: 20 parsers.
[INFO] Velocimacro : initialization starting.
[INFO] Velocimacro : adding VMs from VM library template : VM_global_library.vm
[ERROR] ResourceManager : unable to find resource 'VM_global_library.vm' in any resource loader.
[INFO] Velocimacro : error using  VM library template VM_global_library.vm : org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'VM_global_library.vm'
[INFO] Velocimacro :  VM library template macro registration complete.
[INFO] Velocimacro : allowInline = true : VMs can be defined inline in templates
[INFO] Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT replace previous VM definitions
[INFO] Velocimacro : allowInlineLocal = false : VMs defined inline will be  global in scope if allowed.
[INFO] Velocimacro : initialization complete.
[INFO] Velocity successfully started.
[INFO] [archetype:create]
[INFO] Defaulting package to group ID: com.example
[INFO] artifact org.apache.maven.archetypes:maven-archetype-quickstart: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-4/maven-archetype-quickstart-1.0-alpha-4.jar
5K downloaded
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating Archetype: maven-archetype-quickstart:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example
[INFO] Parameter: packageName, Value: com.example
[INFO] Parameter: basedir, Value: /root
[INFO] Parameter: package, Value: com.example
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: sample
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] Archetype created in dir: /root/sample
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 minutes 18 seconds
[INFO] Finished at: Fri Jun 16 10:58:35 JST 2006
[INFO] Final Memory: 6M/16M
[INFO] ------------------------------------------------------------------------

今回は、ディレクトリ設計を何も考えずに、ユーザールートディレクトリでコマンドを実行しました。
すると、コマンドを実行したディレクトリ直下にプロジェクトディレクトリが作成されました。

[root@javabean sample]# ls
pom.xml  src
[root@javabean sample]# pwd
/root/sample
[root@javabean sample]# find . -ls
.
./pom.xml
./src
./src/main
./src/main/java
./src/main/java/com
./src/main/java/com/example
./src/main/java/com/example/App.java
./src/test
./src/test/java
./src/test/java/com
./src/test/java/com/example
./src/test/java/com/example/AppTest.java
src/mainディレクト
Javaソースコード配置用
src/testディレクト
テスト用コード配置用

pom.xml

次に、pom.xmlの中の各要素の説明です。

[root@javabean sample]# more pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc
hema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0
_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>sample</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
modelVersion
POMのバージョン。変更する必要なし
groupId
プロジェクトを一意に識別するID。プロジェクトのルートパッケージ名を指定する事が一般的
artifactId
プロジェクト成果物の名前。JAR/EAR/WARファイルの名前に使用される。
packaging
成果物のパッケージタイプ。jar/war/earなどがあります。
version
プロジェクトのバージョン
name
プロジェクトの表示名。ドキュメントを作成するときに使用される。
url
プロジェクトサイトのURL。ドキュメントを作成するときに使用される。
dependency
プロジェクトが依存するライブラリの情報

ここで記述されていない情報(ソースコード場所/クラス生成先など)はデフォルト値が適用されます。
必要に応じて情報を編集する事になります。

コンパイル

mvnのコンパイルは、以下のコマンドで実行されます。

mvn compile

たしか、pom.xmlが置かれているディレクトリで実行すると聞いたことがあります。
試しに、pom.xmlがないディレクトリで実行してみます。

[root@javabean ~]# mvn compile
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [compile]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-resources-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugins/1/maven-plugins-1.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.2/maven-resources-plugin-2.2.jar
13K downloaded
[INFO] artifact org.apache.maven.plugins:maven-compiler-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.1/maven-compiler-plugin-2.0.1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.1/maven-compiler-plugin-2.0.1.jar
14K downloaded
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot execute mojo: resources. It requires a project with an existing pom.xml, but the build is not using one.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 seconds
[INFO] Finished at: Fri Jun 16 11:56:58 JST 2006
[INFO] Final Memory: 3M/8M
[INFO] ------------------------------------------------------------------------

初めてのコンパイルだったので、プラグインをいろいろとダウンロードしてきました。
しかし、やはりBUILD ERRORです。
pom.xmlが必要と怒られました。

では次にpom.xmlが置かれているディレクトリで実行してみます。

[root@javabean sample]# mvn compile
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [compile]
[INFO] ----------------------------------------------------------------------------
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.2/plexus-compiler-api-1.5.2.pom
624b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler/1.5.2/plexus-compiler-1.5.2.pom
761b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-components/1.1.5/plexus-components-1.1.5.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom
5K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-manager/1.5.2/plexus-compiler-manager-1.5.2.pom
634b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-javac/1.5.2/plexus-compiler-javac-1.5.2.pom
625b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compilers/1.5.2/plexus-compilers-1.5.2.pom
7K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.0.5/plexus-utils-1.0.5.pom
918b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-manager/1.5.2/plexus-compiler-manager-1.5.2.jar
5K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-api/1.5.2/plexus-compiler-api-1.5.2.jar
19K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-compiler-javac/1.5.2/plexus-compiler-javac-1.5.2.jar
9K downloaded
[INFO] [compiler:compile]
Compiling 1 source file to /root/sample/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12 seconds
[INFO] Finished at: Fri Jun 16 12:00:39 JST 2006
[INFO] Final Memory: 4M/13M
[INFO] ------------------------------------------------------------------------

ビルドが成功しました。また、コンパイルされたクラスファイルは、targetディレクトリが作成され、その配下に配置されました。

[root@javabean sample]# ls -l
合計 12
-rw-r--r--  1 root root  675  6月 16 10:58 pom.xml
drwxr-xr-x  4 root root 4096  6月 16 10:58 src
drwxr-xr-x  3 root root 4096  6月 16 12:00 target
[root@javabean sample]# find . -ls
.
./target
./target/classes
./target/classes/com
./target/classes/com/example
./target/classes/com/example/App.class

ユニットテスト

ユニットテストmavenは実行する事が可能です。
以下の名前にマッチングするファイルがテストとして実行されます。
[**/Test*.java] [**/*Test.java] [**/*TestCase.java]

src/test配下のAppTest.javaがいるので実行してみます。

[root@javabean sample]# mvn test
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [test]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-surefire-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.2/maven-surefire-plugin-2.2.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.2/maven-surefire-plugin-2.2.jar
14K downloaded
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
Downloading: http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar
118K downloaded
[INFO] [compiler:testCompile]
Compiling 1 source file to /root/sample/target/test-classes
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.pom
770b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire/2.0/surefire-2.0.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.pom
741b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-booter/2.0/surefire-booter-2.0.jar
22K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-api/2.0/surefire-api-2.0.jar
47K downloaded
[INFO] [surefire:test]
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
164K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-junit/2.0/surefire-junit-2.0.pom
583b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-providers/2.0/surefire-providers-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-junit/2.0/surefire-junit-2.0.jar
11K downloaded
[INFO] Surefire report directory: /root/sample/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec

Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 44 seconds
[INFO] Finished at: Fri Jun 16 12:06:54 JST 2006
[INFO] Final Memory: 5M/17M
[INFO] ------------------------------------------------------------------------

同じく初回起動なので、プラグインをダウンロードしてきます。
よく見てみると、JUnitをダウンロードしてきています。内部的に動かすユニットテストJUnitみたいですね。

ドキュメント作成

MavenではJavaDocやプロジェクトサイト作成機能があります。

JavaDoc作成

次のコマンドで作成します。

mvn javadoc:javadoc

同じくいろいろダウンロードしてきます。

[root@javabean sample]# mvn javadoc:javadoc
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'javadoc'.
[INFO] artifact org.apache.maven.plugins:maven-javadoc-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-javadoc-plugin/2.0/maven-javadoc-plugin-2.0.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-javadoc-plugin/2.0/maven-javadoc-plugin-2.0.jar
33K downloaded
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [javadoc:javadoc]
[INFO] ----------------------------------------------------------------------------
[INFO] Preparing javadoc:javadoc
[INFO] No goals needed for project - skipping
Downloading: http://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.pom
9K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-3/plexus-archiver-1.0-alpha-3.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.0-beta-1/maven-plugin-testing-harness-1.0-beta-1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-components/1/maven-shared-components-1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-core/2.0/maven-core-2.0.pom
5K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom
812b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom
400b downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom
5K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom
5K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom
485b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom
504b downloaded
Downloading: http://repo1.maven.org/maven2/doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.2/maven-reporting-impl-2.0.2.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.2/maven-reporting-2.0.2.pom
738b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom
12K downloaded
Downloading: http://repo1.maven.org/maven2/commons-validator/commons-validator/1.1.4/commons-validator-1.1.4.pom
168b downloaded
Downloading: http://repo1.maven.org/maven2/oro/oro/2.0.7/oro-2.0.7.pom
141b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.2/maven-project-2.0.2.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.2/maven-reporting-api-2.0.2.pom
902b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom
424b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.2/maven-plugin-api-2.0.2.pom
643b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.pom
771b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-7/doxia-core-1.0-alpha-7.jar
225K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-archiver/1.0-alpha-3/plexus-archiver-1.0-alpha-3.jar
127K downloaded
Downloading: http://repo1.maven.org/maven2/oro/oro/2.0.7/oro-2.0.7.jar
63K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-7/doxia-decoration-model-1.0-alpha-7.jar
37K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-plugin-testing-harness/1.0-beta-1/maven-plugin-testing-harness-1.0-beta-1.jar
17K downloaded
Downloading: http://repo1.maven.org/maven2/commons-validator/commons-validator/1.1.4/commons-validator-1.1.4.jar
82K downloaded
Downloading: http://repo1.maven.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar
202K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-6/plexus-i18n-1.0-beta-6.jar
11K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-7/doxia-site-renderer-1.0-alpha-7.jar
12K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.2/maven-reporting-impl-2.0.2.jar
13K downloaded
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] **************************************************************
[INFO] Starting Jakarta Velocity v1.4
[INFO] RuntimeInstance initializing.
[INFO] Default Properties File: org/apache/velocity/runtime/defaults/velocity.properties
[INFO] Default ResourceManager initializing. (class org.apache.velocity.runtime.resource.ResourceManagerImpl)
[INFO] Resource Loader Instantiated: org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader
[INFO] ClasspathResourceLoader : initialization starting.
[INFO] ClasspathResourceLoader : initialization complete.
[INFO] ResourceCache : initialized. (class org.apache.velocity.runtime.resource.ResourceCacheImpl)
[INFO] Default ResourceManager initialization complete.
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Literal
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Macro
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Parse
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Include
[INFO] Loaded System Directive: org.apache.velocity.runtime.directive.Foreach
[INFO] Created: 20 parsers.
[INFO] Velocimacro : initialization starting.
[INFO] Velocimacro : adding VMs from VM library template : VM_global_library.vm
[ERROR] ResourceManager : unable to find resource 'VM_global_library.vm' in any resource loader.
[INFO] Velocimacro : error using  VM library template VM_global_library.vm : org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'VM_global_library.vm'
[INFO] Velocimacro :  VM library template macro registration complete.
[INFO] Velocimacro : allowInline = true : VMs can be defined inline in templates
[INFO] Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT replace previous VM definitions
[INFO] Velocimacro : allowInlineLocal = false : VMs defined inline will be  global in scope if allowed.
[INFO] Velocimacro : initialization complete.
[INFO] Velocity successfully started.
[INFO] [javadoc:javadoc]
ソースファイル /root/sample/src/main/java/com/example/App.java を読み込んでいます...
Javadoc 情報を構築しています...
標準 Doclet バージョン 1.4.2
/root/sample/target/site/apidocs/constant-values.html の生成
全パッケージとクラスの階層ツリーを作成しています...
/root/sample/target/site/apidocs/com/example/class-use/App.html の生成
/root/sample/target/site/apidocs/com/example/package-use.html の生成
全パッケージとクラスのインデックスを作成しています...
/root/sample/target/site/apidocs/overview-tree.html の生成
/root/sample/target/site/apidocs/index-all.html の生成
/root/sample/target/site/apidocs/deprecated-list.html の生成
全クラスのインデックスを作成しています...
/root/sample/target/site/apidocs/allclasses-frame.html の生成
/root/sample/target/site/apidocs/allclasses-noframe.html の生成
/root/sample/target/site/apidocs/index.html の生成
/root/sample/target/site/apidocs/packages.html の生成
/root/sample/target/site/apidocs/com/example/package-frame.html の生成
/root/sample/target/site/apidocs/com/example/package-summary.html の生成
/root/sample/target/site/apidocs/com/example/package-tree.html の生成
/root/sample/target/site/apidocs/com/example/App.html の生成
/root/sample/target/site/apidocs/package-list の生成
/root/sample/target/site/apidocs/help-doc.html の生成
/root/sample/target/site/apidocs/stylesheet.css の生成
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 33 seconds
[INFO] Finished at: Fri Jun 16 12:17:08 JST 2006
[INFO] Final Memory: 8M/26M
[INFO] ------------------------------------------------------------------------
サイト構築

次のコマンドで実行します。

mvn site

今までと同様にプラグインがダウンロードされていきます。

[root@javabean sample]# mvn site
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [site]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-site-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-5/maven-site-plugin-2.0-beta-5.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-site-plugin/2.0-beta-5/maven-site-plugin-2.0-beta-5.jar
52K downloaded
[INFO] artifact org.apache.maven.plugins:maven-project-info-reports-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-project-info-reports-plugin/2.0/maven-project-info-reports-plugin-2.0.pom
4K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-project-info-reports-plugin/2.0/maven-project-info-reports-plugin-2.0.jar
89K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-settings/2.0.4/maven-settings-2.0.4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom
11K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.4/maven-model-2.0.4.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.pom
895b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-cvs/1.0-beta-3/maven-scm-providers-cvs-1.0-beta-3.pom
784b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers/1.0-beta-3/maven-scm-providers-1.0-beta-3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm/1.0-beta-3/maven-scm-1.0-beta-3.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.pom
591b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.pom
629b downloaded
Downloading: http://repo1.maven.org/maven2/regexp/regexp/1.3/regexp-1.3.pom
145b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting/2.0.4/maven-reporting-2.0.4.pom
700b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.4/maven-reporting-api-2.0.4.pom
902b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.4/maven-project-2.0.4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.4/maven-artifact-2.0.4.pom
765b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.4/maven-artifact-manager-2.0.4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom
588b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.4/maven-repository-metadata-2.0.4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.4/maven-profile-2.0.4.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom
8K downloaded
Downloading: http://repo1.maven.org/maven2/commons-digester/commons-digester/1.6/commons-digester-1.6.pom
974b downloaded
Downloading: http://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0/commons-logging-1.0.pom
163b downloaded
Downloading: http://repo1.maven.org/maven2/commons-collections/commons-collections/2.1/commons-collections-2.1.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom
5K downloaded
Downloading: http://repo1.maven.org/maven2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
346b downloaded
Downloading: http://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom
357b downloaded
Downloading: http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom
866b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.4/maven-plugin-api-2.0.4.pom
643b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.pom
460b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia/1.0-alpha-8/doxia-1.0-alpha-8.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.pom
976b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-8/doxia-sink-api-1.0-alpha-8.pom
424b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-providers-svn/1.0-beta-3/maven-scm-providers-svn-1.0-beta-3.pom
791b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.pom
665b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-managers/1.0-beta-3/maven-scm-managers-1.0-beta-3.pom
857b downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-i18n/1.0-beta-5/plexus-i18n-1.0-beta-5.pom
583b downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-components/1.1/plexus-components-1.1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-root/1.0/plexus-root-1.0.pom
4K downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-container-default/1.0-alpha-4/plexus-container-default-1.0-alpha-4.pom
806b downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-containers/1.0/plexus-containers-1.0.pom
467b downloaded
Downloading: http://repo1.maven.org/maven2/classworlds/classworlds/1.1-alpha-1/classworlds-1.1-alpha-1.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-utils/1.0-alpha-3/plexus-utils-1.0-alpha-3.pom
319b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvsexe/1.0-beta-3/maven-scm-provider-cvsexe-1.0-beta-3.jar
24K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-perforce/1.0-beta-3/maven-scm-provider-perforce-1.0-beta-3.jar
51K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-clearcase/1.0-beta-3/maven-scm-provider-clearcase-1.0-beta-3.jar
50K downloaded
Downloading: http://repo1.maven.org/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
37K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-manager-plexus/1.0-beta-3/maven-scm-manager-plexus-1.0-beta-3.jar
5K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svnexe/1.0-beta-3/maven-scm-provider-svnexe-1.0-beta-3.jar
37K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity/1.1.3/plexus-velocity-1.1.3.jar
7K downloaded
Downloading: http://repo1.maven.org/maven2/regexp/regexp/1.3/regexp-1.3.jar
24K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-decoration-model/1.0-alpha-8/doxia-decoration-model-1.0-alpha-8.jar
39K downloaded
Downloading: http://repo1.maven.org/maven2/plexus/plexus-i18n/1.0-beta-5/plexus-i18n-1.0-beta-5.jar
11K downloaded
Downloading: http://repo1.maven.org/maven2/commons-digester/commons-digester/1.6/commons-digester-1.6.jar
164K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-svn-commons/1.0-beta-3/maven-scm-provider-svn-commons-1.0-beta-3.jar
26K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-site-renderer/1.0-alpha-8/doxia-site-renderer-1.0-alpha-8.jar
33K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.0-beta-3/maven-scm-provider-cvs-commons-1.0-beta-3.jar
45K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core/1.0-alpha-8/doxia-core-1.0-alpha-8.jar
199K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl/2.0.4/maven-reporting-impl-2.0.4.jar
13K downloaded
Downloading: http://repo1.maven.org/maven2/commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar
88K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-api/1.0-beta-3/maven-scm-api-1.0-beta-3.jar
63K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/scm/maven-scm-provider-starteam/1.0-beta-3/maven-scm-provider-starteam-1.0-beta-3.jar
50K downloaded
Downloading: http://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
184K downloaded
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom
765b downloaded
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.0.0beta12/jetty-6.0.0beta12.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/project/6.0.0beta12/project-6.0.0beta12.pom
7K downloaded
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.0.0beta12/servlet-api-2.5-6.0.0beta12.pom
1K downloaded
Downloading: http://dist.codehaus.org/org.mortbay.jetty/jars/servlet-api-2.5-6.0.0beta12.jar
[WARNING] Unable to get resource from repository codehaus (http://dist.codehaus.org)
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5/6.0.0beta12/servlet-api-2.5-6.0.0beta12.jar
157K downloaded
Downloading: http://repo1.maven.org/maven2/org/mortbay/jetty/jetty/6.0.0beta12/jetty-6.0.0beta12.jar
463K downloaded
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [site:site]
[INFO] artifact org.apache.maven.skins:maven-default-skin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/skins/maven-default-skin/1.0/maven-default-skin-1.0.jar
7K downloaded
[INFO] Generate "Continuous Integration" report.
[ERROR] VM #displayTree: error : too few arguments to macro. Wanted 2 got 0
[ERROR] VM #menuItem: error : too few arguments to macro. Wanted 1 got 0
[INFO] Generate "Dependencies" report.
[INFO] Generate "Issue Tracking" report.
[INFO] Generate "Project License" report.
[INFO] Generate "Mailing Lists" report.
[INFO] Generate "About" report.
[INFO] Generate "Project Summary" report.
[INFO] Generate "Source Repository" report.
[INFO] Generate "Project Team" report.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 minutes 48 seconds
[INFO] Finished at: Fri Jun 16 13:07:31 JST 2006
[INFO] Final Memory: 12M/36M
[INFO] ------------------------------------------------------------------------

パッケージ

以下のコマンドでパッケージングします。ここではJARファイルが作成されます。
また、名前は[artifactID]+[version]になります。

mvn package
[root@javabean sample]# mvn package
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [package]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-jar-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.0/maven-jar-plugin-2.0.pom
737b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin-parent/2.0/maven-plugin-parent-2.0.pom
6K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.0/maven-jar-plugin-2.0.jar
7K downloaded
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [surefire:test]
[INFO] Surefire report directory: /root/sample/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec

Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.0/maven-archiver-2.0.pom
866b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-archiver/2.0/maven-archiver-2.0.jar
11K downloaded
[INFO] [jar:jar]
[INFO] Building jar: /root/sample/target/sample-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 29 seconds
[INFO] Finished at: Fri Jun 16 13:15:25 JST 2006
[INFO] Final Memory: 5M/16M
[INFO] ------------------------------------------------------------------------

ローカルリポジトリに格納

mvn install

実行結果は以下の通り。

[root@javabean sample]# mvn install
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [install]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-install-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.1/maven-install-plugin-2.1.pom
981b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.1/maven-install-plugin-2.1.jar
8K downloaded
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [surefire:test]
[INFO] Surefire report directory: /root/sample/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.041 sec

Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] [jar:jar]
[INFO] Building jar: /root/sample/target/sample-1.0-SNAPSHOT.jar
[INFO] [install:install]
[INFO] Installing /root/sample/target/sample-1.0-SNAPSHOT.jar to /root/.m2/repository/com/example/sample/1.0-SNAPSHOT/sample-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6 seconds
[INFO] Finished at: Fri Jun 16 13:18:36 JST 2006
[INFO] Final Memory: 5M/16M
[INFO] ------------------------------------------------------------------------

リモートリポジトリへのデプロイ

リモートリポジトリへのデプロイには事前にpom.xmlへの記述が必要になります。

  <distributionManagement>
    <repository>
      <id>deploy-repository</id>
      <name>deployRepository</name>
      <url>/root/sampleDeploy/deployRepositor</url>
    </repository>
  </distributionManagement>

と記述しました。

id
リポジトリの識別子
name
リポジトリの名前
url
リポジトリの場所を示すURL

今回はローカルにあるディレクトリを指定してみました

次のコマンドで実行します。

mvn deploy

実行結果です。

[root@javabean sample]# mvn deploy
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO]    task-segment: [deploy]
[INFO] ----------------------------------------------------------------------------
[INFO] artifact org.apache.maven.plugins:maven-deploy-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/2.2/maven-deploy-plugin-2.2.pom
981b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-plugin-parent/2.0.1/maven-plugin-parent-2.0.1.pom
7K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/2.2/maven-deploy-plugin-2.2.jar
10K downloaded
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [surefire:test]
[INFO] Surefire report directory: /root/sample/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.example.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec

Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] [jar:jar]
[INFO] Building jar: /root/sample/target/sample-1.0-SNAPSHOT.jar
[INFO] [install:install]
[INFO] Installing /root/sample/target/sample-1.0-SNAPSHOT.jar to /root/.m2/repository/com/example/sample/1.0-SNAPSHOT/sample-1.0-SNAPSHOT.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-project/2.0.1/maven-project-2.0.1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom
11K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-model/2.0.1/maven-model-2.0.1.pom
2K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-profile/2.0.1/maven-profile-2.0.1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager/2.0.1/maven-artifact-manager-2.0.1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.1/maven-repository-metadata-2.0.1.pom
1K downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-artifact/2.0.1/maven-artifact-2.0.1.pom
765b downloaded
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom
643b downloaded
[INFO] [deploy:deploy]
[INFO] Retrieving previous build number from deploy-repository
Uploading: /root/sampleDeploy/deployRepositor/com/example/sample/1.0-SNAPSHOT/sample-1.0-20060616.043423-1.jar
2K uploaded
[INFO] Retrieving previous metadata from deploy-repository
[INFO] Uploading project information for sample 1.0-20060616.043423-1
[INFO] Retrieving previous metadata from deploy-repository
[INFO] Uploading repository metadata for: 'snapshot com.example:sample:1.0-SNAPSHOT'
[INFO] Retrieving previous metadata from deploy-repository
[INFO] Uploading repository metadata for: 'artifact com.example:sample'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13 seconds
[INFO] Finished at: Fri Jun 16 13:34:23 JST 2006
[INFO] Final Memory: 6M/16M
[INFO] ------------------------------------------------------------------------

リポジトリでないからかな、何も入ってない。

[root@javabean deployRepositor]# pwd
/root/sampleDeploy/deployRepositor
[root@javabean deployRepositor]# ls -l
合計 0

この機能でサーバに配置できるかと思っていたけど、これだと無理かも。
他の方法を考えないと。