atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
comscom@Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
comscom@Wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
comscom@Wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • comscom@Wiki
  • maven2
  • コマンド
  • exec:java(javaのmainメソッドを実行する)

comscom@Wiki

exec:java(javaのmainメソッドを実行する)

最終更新:2008年10月20日 14:45

Bot(ページ名リンク)

- view
管理者のみ編集可
maven2からのmainメソッドの実行がしたいのです。

  • なにもかもmaven2でやりたいの
  • execプラグインとやら
  • 参考サイト様
  • 前提条件
  • コマンドexec:java
  • 何も考えずに実行してみる(うまくいかなかったです)
    • pom.xmlの状態
    • 実行してみる
  • コマンドを叩くときにメインクラスを指定して実行(うまくいってる!)
    • pom.xml
    • 実行結果
  • pom.xmlにexecのpluginを追加してmainクラスを指定する
    • pom.xmlにexecプラグインの設定をするために必要な情報
    • pom.xmlにexecプラグインの記述を追加する。
    • exec-maven-pluginタグを追加したpom.xml
    • 実行してみる
  • mainメソッドに引数渡して実行してみたい

なにもかもmaven2でやりたいの

javaクラスの実行って、コマンドプロンプトから「java クラス名」って叩けばやってくれるです。
でもmaven2ではどうやるんだろう。
testとかは「mvn test」でJunitが動くです。
「mvn Java」みたいなのないのかな。。。とおもった私。

みつけました。
execプラグインさんがやってくれます。

execプラグインとやら

execプラグインさんはmvn exec:***と叩けば以下からダウンロードしてくれるので難しいことはなさそう。
http://repo1.maven.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.1/
※2008/5月時点で最新は1.1でした。ググって調べたら1.0.2を使っているところばかり。
1.0.2だと引数の指定がなんだかうまくいってないみたい。

参考サイト様

execプラグインの使い方のところ。
http://mojo.codehaus.org/exec-maven-plugin/usage.html
「exec:java」で検索すると使い方があります。


前提条件

  • maventestプロジェクトをcreateする。
  • サンプルのApp.javaをそのまま使う。
  • コンパイルは終わってますかー?


コマンドexec:java

以下のコマンドを実行ですよ!
mvn exec:java


何も考えずに実行してみる(うまくいかなかったです)

とりあえずやってみましょう。考えるのはその後!


pom.xmlの状態

今のpomはこんな感じ
<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>jp.co.dotcom</groupId>
	<artifactId>maventest</artifactId>
	<packaging>jar</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>maventest</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>
余計なものは何も書いてないです。


実行してみる

上記の環境でコマンド叩いたらこんな結果になりました。

Z:\maventest>mvn exec:java
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO] artifact org.codehaus.mojo:exec-maven-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.1/exec-maven-plugin-1.1.pom
3K downloaded
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.1/exec-maven-plugin-1.1.jar
26K downloaded
[INFO] ----------------------------------------------------------------------------
[INFO] Building maventest
[INFO] task-segment: [exec:java]
[INFO] ----------------------------------------------------------------------------
[INFO] Preparing exec:java
[INFO] No goals needed for project - skipping
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] One or more required plugin parameters are invalid/missing for 'exec:java'

[0] inside the definition for plugin: 'exec-maven-plugin'specify the following:

<configuration>
...
<mainClass>VALUE</mainClass>
</configuration>

-OR-

on the command line, specify: '-Dexec.mainClass=VALUE'

[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 38 seconds
[INFO] Finished at: Wed May 21 17:27:42 JST 2008
[INFO] Final Memory: 2M/5M
[INFO] ------------------------------------------------------------------------

Z:\maventest>


怒られたー!


mainClassを指定しろよ!って言われてます。あはは。

そうですね、maventestプロジェクトの中のどのクラスを実行するのかさえ指定してないです。
エラーメッセージを見ると、「こうしてよ!」って例が2つかかれてます。
試してみましょう。


コマンドを叩くときにメインクラスを指定して実行(うまくいってる!)

ちゃんと頭使うことにします。

先ほどのエラーメッセージのところに
-OR-

on the command line, specify: '-Dexec.mainClass=VALUE'

って書いてありました。
「-OR-」の前にも何か書いてありましたが、ちょとそっちはおいときたい気分。あとでやります。

読んでみます。
on the command line
ってことはコマンドの指定が足りなかったのね。。。

どうやら
-Dexec.mainClass=VALUE
をくっつけたらどう?って言ってるみたい。(ちょっと違うよ?)
なるほど「-D」のつく記述はコマンドラインで指定できるものだから、こっちのほうが手っ取り早そうね。


というわけで「-Dexec.mainClass=VALUE」を追加して実行してみることにします。

にしても、
VALUE
は何を書くのかな。クラスファイルを指定するのかな。
むう。パッケージ名から指定してあげないとだめかな。

じゃこれでどうだ!
mvn exec:java -Dexec.mainClass=jp.co.dotcom.App

とりあえずこれでいってみましょうそうしましょう。


pom.xml

先程と変わらないので割愛。


実行結果

「-Dexec.mainClass」を指定して実行してみましたらこんなんでました。

Z:\maventest>mvn exec:java -Dexec.mainClass=jp.co.dotcom.App
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO] ---------------------------------------------------------------------------
[INFO] Building maventest
[INFO] task-segment: [exec:java]
[INFO] ---------------------------------------------------------------------------
[INFO] Preparing exec:java
[INFO] No goals needed for project - skipping
[INFO] [exec:java]
Hello World!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Wed May 21 17:48:40 JST 2008
[INFO] Final Memory: 2M/5M
[INFO] ------------------------------------------------------------------------

Z:\maventest>

やりましたよおかあさん!(誰?)
Hello World!
ってでてますね!
サンプルそのまんまのApp.mainを呼んでるってことですね!
成功です!

でも。。。いちいちコマンド叩くたびにクラスを指定するのは面倒ですね。パッケージから指定だし。

というわけで先ほどすっとばした<configuration>を指定しろよーっていうの、やってみましょう。
つまり最初っからpom.xmlに書いておいてmvn exec:javaと実行するたびそこを見てくれるってやつ。


pom.xmlにexecのpluginを追加してmainクラスを指定する

先ほどのエラーメッセージに
[0] inside the definition for plugin: 'exec-maven-plugin'specify the following:

<configuration>
...
<mainClass>VALUE</mainClass>
</configuration>
ってありました。
configrationを設定しろよ!って言ってます。

というわけでpom.xmlをさわります。
まず、execコマンドでお願いしたいクラス指定するためには、execプラグインを指定しないとです。
これはbuildタグの中に追加してくです。

こういうの。
	<plugin>
		<groupId>org.codehaus.mojo</groupId>
		<artifactId>exec-maven-plugin</artifactId>
		<version>1.1</version>
		<configuration>
			<executable>java</executable>
			<mainClass>jp.co.dotcom.App</mainClass>
		</configuration>
	</plugin>

groupIdとartifactIdは最初に何も考えずに一番最初にexec:javaを実行した時にダウンロードしていたログから探します。
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.1/exec-maven-plugin-1.1.jar
って出力されてたです。これですね。
つまりgroupIdが
org/codehaus/mojo
で、

artifactIdが
exec-maven-plugin/
で。

最後にversionが
1.1/
ですね。

ちょっと邪道なやり方ですがこれで必要な情報が手に入りました。
ちなみにexec:javaを実行していれば、ローカルリポジトリに入ってるのでそちらも見てもgroupIdとかわかるです。

pom.xmlにexecプラグインの設定をするために必要な情報

  • groupId : org.codehaus.mojo
  • articaftId : exec-maven-plugin
  • version : 1.1ですです。
  • executable : exec:javaって打つので「java」
  • mainClass : パッケージ名含むクラス名。先ほど-Dexec.mainClassで指定したやつ

pom.xmlにexecプラグインの記述を追加する。

さて。
pom.xmlを触りますよ!

pluginはたくさんあるかもなのでpluginsタグの中に書きます。
さらにpluginsタグはbuildタグ内に書くです。

つりーなことをずらずら書きましたが、つまりpomの全体は以下の通り。


exec-maven-pluginタグを追加した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>jp.co.dotcom</groupId>
	<artifactId>maventest</artifactId>
	<packaging>jar</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>maventest</name>
	<url>http://maven.apache.org</url>

	<build>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<version>1.1</version>
				<configuration>
					<executable>java</executable>
					<mainClass>jp.co.dotcom.App</mainClass>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

buildタグのところが追加です。

実行してみる

pomの設定ができたので、-Dexec.mainClassを指定しなくても動くか確認してみました。

Z:\maventest>mvn exec:java
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building maventest
[INFO]    task-segment: [exec:java]
[INFO] ----------------------------------------------------------------------------
[INFO] Preparing exec:java
[INFO] No goals needed for project - skipping
[INFO] [exec:java]
Hello World!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Wed May 21 18:02:33 JST 2008
[INFO] Final Memory: 2M/5M
[INFO] ------------------------------------------------------------------------

Z:\maventest>

おおー!
Hello World!
がでている!成功です!
やるなあexecプラグイン!
これでpom.xmlでmainClassを指定する方法がわかりました。

あとは。。。
mainメソッドに引数を渡す方法がわからないわ!


mainメソッドに引数渡して実行してみたい

main(String[] args)のargsを指定する方法です。

javaのmainメソッドを引数を渡して実行したいの

タグ:

maven2 mainメソッド exec java
「exec:java(javaのmainメソッドを実行する)」をウィキ内検索
LINE
シェア
Tweet
comscom@Wiki
記事メニュー
comscom@Wiki
author:com

全記事一覧

コンテンツ別記事一覧


カテゴリ別メニュー

▼MicroSoft系
  • WindowsXP
  • Excel
  • InternetExplorer
  • OutlookExpress
▼Mozilla系
  • FireFox
  • FireFoxアドオン
  • Firebug?
  • Thunderbird?
▼なんちゃって開発系
  • ▼Eclipse
    • Eclipse
    • ▼メニューバー別
      • 一覧?
      • 編集?
      • ファイル?
      • 編集?
      • ソース?
      • リファクタリング?
      • ナビゲート
      • 検索?
      • プロジェクト
      • 実行?
      • ウィンドウ?
      • ヘルプ?
      • Tomcat
    • Cvs?
    • Ant?
    • junit?
    • djunit?
    • xml?
    • FindBugs
    • Tomcat
  • ▼NetBeans
    • NetBeans
    • BPELDesigner
  • Java
  • Tomcat
  • Ant
  • Cvs
  • UML
  • Log4j
  • ツール?
  • CommandPrompt
  • Maven2
  • ▼DataBase
    • SQLServer
    • PostgreSQL?
    • Derby?
    • Oracle?
▼Web系
  • ▼HTML系
    • HTML
    • CSS?
  • ▼blog系
    • blog?
    Wiki
▼つぶやき
  • つぶやき
  • にっき
  • お仕事中なの
  • 知るを科学する

▼お役立ちツール
  • ▼エディタ
    • TeraPad?
  • ▼Win系ツール
    • ステキフリーソフト
▼リンク
  • @wiki トップ
  • @wiki ヘルプ
  • @wiki 助け合い掲示板
  • EclipseWiki

最近更新した記事

取得中です。






total -
t -
y -
記事メニュー2

コチラは。。。

comです。
いろいろ書いてます。思ったことと自分用メモなのであまり参考にはなりません。ググってたどりついたサイトさんにお世話になりっぱなしです。勝手にリンクはっちゃっていますので記事に問題ありましたらお手数おかけしますがご連絡くださいです。
書き込み機能はありません。コメントはつぶやきの記事へどうぞ。

たまにサンプルコードとか書いてしまいますが動作の保障はないのです。改行無文字膨大誤字脱字乱雑注意!


人気記事ランキング
  1. Excel/VBA/シート保護しててもオートフィルタを使いたい
  2. つぶやき/2007年04月10日
  3. maven2/環境設定
  4. フリーソフト
  5. つぶやき/2008年09月04日/ぴーとろ
  6. Word/変更履歴をなくして初版にしたい。
もっと見る
最近更新されたページ
  • 4532日前

    つぶやき/2009年01月15日/毛糸屋さん
  • 5541日前

    つぶやき/2010年05月20日
  • 5541日前

    つぶやき/2010年05月20日/あんとantアント
  • 5774日前

    Maven2/groupIdが古かったり間違ってたり?するとWARNINGがでて正しいものでInstallされちゃうの
  • 5832日前

    つぶやき/2008年06月30日/まつり縫いとかがり縫い
  • 5873日前

    つぶやき/2009年06月22日
  • 5873日前

    つぶやき/2009年06月22日/お米を研ぐ
  • 5888日前

    つぶやき/2008年07月28日/mp4を開きたいときはQuickTimeでいいよもう。
  • 5888日前

    FireFox/アドオン/Video Downloader/動画いただき!
  • 5888日前

    つぶやき/2007年04月23日/きょうもきょうとてちょと進歩
もっと見る
「 exec」関連ページ
  • No Image maven2/javaのmainメソッドを引数を渡して実行したいの
人気記事ランキング
  1. Excel/VBA/シート保護しててもオートフィルタを使いたい
  2. つぶやき/2007年04月10日
  3. maven2/環境設定
  4. フリーソフト
  5. つぶやき/2008年09月04日/ぴーとろ
  6. Word/変更履歴をなくして初版にしたい。
もっと見る
最近更新されたページ
  • 4532日前

    つぶやき/2009年01月15日/毛糸屋さん
  • 5541日前

    つぶやき/2010年05月20日
  • 5541日前

    つぶやき/2010年05月20日/あんとantアント
  • 5774日前

    Maven2/groupIdが古かったり間違ってたり?するとWARNINGがでて正しいものでInstallされちゃうの
  • 5832日前

    つぶやき/2008年06月30日/まつり縫いとかがり縫い
  • 5873日前

    つぶやき/2009年06月22日
  • 5873日前

    つぶやき/2009年06月22日/お米を研ぐ
  • 5888日前

    つぶやき/2008年07月28日/mp4を開きたいときはQuickTimeでいいよもう。
  • 5888日前

    FireFox/アドオン/Video Downloader/動画いただき!
  • 5888日前

    つぶやき/2007年04月23日/きょうもきょうとてちょと進歩
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 鹿乃つの氏 周辺注意喚起@ウィキ
  2. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  3. MadTown GTA (Beta) まとめウィキ
  4. R.E.P.O. 日本語解説Wiki
  5. シュガードール情報まとめウィキ
  6. AviUtl2のWiki
  7. ソードランページ @ 非公式wiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. Dark War Survival攻略
  10. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  7. パタポン2 ドンチャカ♪@うぃき
  8. 発車メロディーwiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. オレカバトル アプリ版 @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 成瀬 力二 - ストグラ まとめ @ウィキ
  3. ギャルがアップした動画 - 検索してはいけない言葉 @ ウィキ
  4. マイティーストライクフリーダムガンダム - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  6. 7月20日 安房鴨川駅イベントで流れた発メロをまとめたサイト - 発車メロディーwiki
  7. ブラック ジャックス - ストグラ まとめ @ウィキ
  8. 桃兎 すずめ - ストグラ まとめ @ウィキ
  9. ストライクフリーダムガンダム - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  10. コメント/雑談・質問 - マージマンション@wiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.