Eclipseは使わない!Mavenでサンドボックス作るよー!

これがめちゃめちゃ躓いたので備忘録。

きっかけ

Javaでライブラリ調査しようと思ったら、クラスパスの指定がめんどくさいってことに気が付いた。
サンドボックスのプロジェクトを作るのがいいらしいのでやってみた。

流れはこんな感じ
1. サンドボックスプロジェクトの構築
2. ライブラリを取得
3. プラグイン "exec:java" で実行

ちなみにMavenを使わないと...

$ javac -classpath commons-csv-1.5/commons-csv-1.5.jar Csv.java
  • 実行!コンパイル時とクラスパスの指定方法が違うの毎回戸惑うんだけど!
java -classpath .:commons-csv-1.5/commons-csv-1.5.jar Csv

Mavenを使うと...

1. サンドボックスプロジェクトの構築

mvn archetype:generate

2. 依存ライブラリの記述

Maven のセントラルリポジトリからpom.xmlにコピペする記述を持ってきて...コピペ! The Central Repository Search Engine

3. プラグイン "exec:java" で実行

そもそもMaven単体だとプログラムの実行はできないらしい。テストはできるけど... pom.xmlプラグインを追加します。

  <build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <configuration>
                <mainClass>Csv</mainClass>
            </configuration>
        </plugin>
    </plugins>
  </build>

にmain持ちの実行したいプログラムを記述します。そしたら

mvn exec:java

雑感

なんか細かい計算はPythonとかの方が楽だな〜と思いつつ、Java9の対話実行はとっとと導入しようと思った。