% sudo yum -y install maven2 ... $ mvn -v /usr/lib/jvm/java Maven version: 2.0.4 $ export JAVA_HOME=/usr/java/jdk $ mvn -v /usr/java/jdk Maven version: 2.0.4 $ |
Maven の最新版は 4/10/2008 にリリースされた 2.0.9 ですが、Fedora 8 の repository では 2.0.4 のようです。また、依存関係を利用して、たくさんの JPackage の RPMs もインストールされました。
それでは、PageRank のプロジェクトの skelton を作成してみます。
$ mvn archetype:create -DgroupId=net.kazmuzik.pagerank -DartifactId=kazmuzik-pagerank ... [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/2.0-alpha-3/\ maven-archetype-plugin-2.0-alpha-3.pom 4K downloaded [WARNING] Skipping jpp repository file:///usr/share/maven2/repository in vanilla mode ... $ ls -l /usr/share/maven2/repository lrwxrwxrwx 1 root root 15 2008-08-20 23:45 JPP -> /usr/share/java $ |
kazmuzik-pagerank 以下にファイルは無事作成されましたが、JPP repository の /usr/share/maven2/repository に関する警告がたくさん出ました。そのディレクトリをみると、jar ファイルがたくさんある /usr/share/java ディレクトリへのシンボリックリンクである JPP がひとつだけありました。この後も、同様の警告がよく出ますが、特に問題は内容です。
8/11, 8/14, 8/16 にソースコードを載せた PageRanker.java, PageRankExample1.java, PageRankExample2.java の3つのファイルを、src/main/java/net/kazmuzik/pag
また、commons-math への依存性や、Java のバージョンを pom.xml に加えてやりました。
$ cat pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-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>net.kazmuzik.pagerank</groupId> <artifactId>kazmuzik-pagerank</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>kazmuzik-pagerank</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-math</groupId> <artifactId>commons-math</artifactId> <version>1.2</version> <scope>compile</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> </project> $ mvn compile ... $ mvn package ... $ ls -F target classes/ kazmuzik-pagerank-1.0-SNAPSHOT.jar surefire-reports/ test-classes/ $ ls ~/.m2/repository/commons-math/commons-math/1.2 commons-math-1.2.jar commons-math-1.2.pom commons-math-1.2.jar.md5 commons-math-1.2.pom.md5 $ |
これで、コンパイル、jar ファイルの作成ができました。なお、依存関係にある commons-math-1.2.jar は、ホームディレクトリの .m2 ディレクトリ以下に、ダウンロードされました。
$ java -classpath target/kazmuzik-pagerank-1.0-SNAPSHOT.jar:\ /home/kazmuzik/.m2/repository/commons-math/commons-math/1.2/commons-math-1.2.jar \ net.kazmuzik.pagerank.PageRankExample1 A 0.0303 B 0.3854 C 0.3438 D 0.0392 E 0.0811 F 0.0392 g 0.0162 h 0.0162 i 0.0162 j 0.0162 k 0.0162 $ |
なお、TECHSCORE に、Apache Maven の日本語の解説があったので、参考にしました。
Tags: programming