2014年12月20日土曜日

Mavenでmainメソッドを実行する方法

概要

src/main/java … に作成されたクラス内にmainメソッドを書いて実行させる方法を紹介します

環境

  • CentOS release 5.10 (Final)
  • Maven 3.1.0
  • exec-maven-plugin 1.2.1

設定

exec:javaというゴールを指定してmvn実行します

pom.xml設定

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.2.1</version>
      <configuration>
        <mainClass>com.kakakikikeke.sample.App</mainClass>
      </configuration>
    </plugin>
  </plugins>
</build>

変更すべき箇所は<mainClass>です
環境に合わせてパッケージ名から指定してください
App.javaにはmainクラスが含まれる必要があります

また、上記のタグは<project>タグ直下に記載してください

実行

mvn clean compile exec:java

実行されると以下のような感じで表示されます(System.out.printlnの場合、start, endの部分)

... 略 ...

[INFO] >>> exec-maven-plugin:1.2.1:java (default-cli) @ jedis >>>
[INFO]
[INFO] <<< exec-maven-plugin:1.2.1:java (default-cli) @ jedis <<<
[INFO]
[INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @ jedis ---
start
end
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.842s
[INFO] Finished at: Thu Dec 18 16:40:41 JST 2014
[INFO] Final Memory: 13M/206M
[INFO] ------------------------------------------------------------------------

Mavenの場合ロジック側を動かそうとするとテストかかないとダメなので、ちょっと動作させたいときにはいいかなと
めちゃくちゃ見づらいですが。。

0 件のコメント:

コメントを投稿