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
このように、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
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>
と記述しました。
今回はローカルにあるディレクトリを指定してみました
次のコマンドで実行します。
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
この機能でサーバに配置できるかと思っていたけど、これだと無理かも。
他の方法を考えないと。