約 4,604,951 件
https://w.atwiki.jp/gomigomi/pages/48.html
command 名前 内容 備考 TelnetCommand.java TelnetCommandExecutor.java TelnetCommandList.java TelnetCommandResult.java
https://w.atwiki.jp/bukkitwiki_jp/pages/15.html
Bukkitコマンド一覧表 誤字があればこのページの下にコメント欄を置いておくのでそちらで報告してくださいませ。 コマンド 説明 Permission version バージョンの確認 bukkit.command.version plugins 導入しているプラグインの一覧 bukkit.command.plugins reload サーバのリロード(再起動) bukkit.command.reload tell player message 1対1のチャット bukkit.command.tell kill 自殺する bukkit.command.kill me tellと同じ? bukkit.command.me help or ? ヘルプを表示 bukkit.command.help kick player player をkick bukkit.command.kick ban player player をBAN bukkit.command.ban.player banlist BANされた人を見る bukkit.command.ban.list pardon player player BANを解除 bukkit.command.unban.player ban-ip ip ip をBAN bukkit.command.ban.ip pardon-ip ip ip のBANを解除 bukkit.command.unban.ip OP player player にOP(オペレーター)権限を与える bukkit.command.op.give deop player player からOP(オペレーター)権限を剥奪する bukkit.command.op.take tp player1 player2 tp player1 x y z player1 が player2 に移動 player1 を x y z に移動 bukkit.command.teleport give player date-value [amount[damage]] player にアイテムを与える bukkit.command.give stop サーバストップ bukkit.command.stop save-all サーバのワールド情報をセーブ bukkit.command.save.perform save-off 自動セーブをoff bukkit.command.save.disable save-on 自動セーブをon bukkit.command.save.enable list サーバにいるプレイヤーを表示 bukkit.command.list say message message をサーバ全体に表示 bukkit.command.say whitelist on/off ホワイトリストをon/offにする bukkit.command.whitelist.enable(on)bukkit.command.whitelist.disable(off) whitelist add/remove player add 追加 remove 削除 ホワイトリストから追加/削除する bukkit.command.whitelist.add(追加)bukkit.command.whitelist.remove(削除) whitelist list ホワイトリストに追加されているプレイヤーを表示 bukkit.command.whitelist.list whitelist reload whitelist.txtかwhitelist.jsonのリロード bukkit.command.whitelist.reload time add/set amount add 日が進む set 時間が進む bukkit.command.time.add(add)bukkit.command.time.set(set) gamemode 0/1/2 player ゲームモードを変更する bukkit.command.gamemode xp player amount 経験値を与える bukkit.command.xp toggledownfall 雨天時等の降るor降らないの変更 bukkit.command.toggledownfall defaultgamemode 0/1/2/3 デフォルトのゲームモードを変更する bukkit.command.defaultgamemode seed ワールドのシード値を見る bukkit.command.seed enchant user enchant number or ID level force user の持っているアイテムにエンチャントをする bukkit.command.enchant weather weather 天気を変更する bukkit.command.weather clear user アイテムをクリア(削除)する bukkit.command.clear difficulty diff level サーバの難易度を変更する bukkit.command.difficulty spawnpoint User x y z user のリスポーンポイントを変更する bukkit.command.spawnpoint gamerule ゲームルールを変更 bukkit.command.gamerule effect player effectID [seconds][amplifier] エフェクトをかける bukkit.command.effect setidletimeout Minutes until kick タイムアウトの時間変更? bukkit.command.setidletimeout setworldspawn x y z 初期巣ポーンポイントを変更する bukkit.command.setworldspawn achievement give stat_name [player] 実績を与える bukkit.command.achievement ※ リスポーンポイント/初期スポーンポイント変更は座標指定がなくても実行可能 ※ 参考 CraftBukkit Commands(bukkitwiki) 名前 コメント
https://w.atwiki.jp/natsutan/pages/51.html
概要 名前空間にあるそれぞれのコマンドの構造体。 /* * Flag bits for commands. * * CMD_IS_DELETED -Means that the command is in the process of *being deleted (its deleteProc is currently *executing). Other attempts to delete the *command should be ignored. * CMD_TRACE_ACTIVE -1 means that trace processing is currently *underway for a rename/delete change. See the *two flags below for which is currently being *processed. * CMD_HAS_EXEC_TRACES -1 means that this command has at least one *execution trace (as opposed to simple *delete/rename traces) in its tracePtr list. * TCL_TRACE_RENAME -A rename trace is in progress. Further *recursive renames will not be traced. * TCL_TRACE_DELETE -A delete trace is in progress. Further *recursive deletes will not be traced. * (these last two flags are defined in tcl.h) */ #define CMD_IS_DELETED 0x1 #define CMD_TRACE_ACTIVE 0x2 #define CMD_HAS_EXEC_TRACES 0x4 typedef Tcl_CmdProc *TclCmdProcType; typedef Tcl_ObjCmdProc *TclObjCmdProcType; typedef void (Tcl_CmdDeleteProc) _ANSI_ARGS_(*1); tcl/generic/tclInt.h メンバー Tcl_HashEntry *hPtr; このコマンドを参照しているハッシュテーブルへのポインタ。名前空間のコマンドテーブルか、hidden command のコマンドテーブルのどちらか。NULLは、ハッシュテーブルのエントリーが削除済みであることを示す。 Namespace *nsPtr;コマンドを含む名前空間へのポインタ int refCount; リファレンスカウント int cmdEpoch; リファレンスが無効になるとインクリメントする CompileProc *compileProc;コンパイルコマンドを呼び出す手続き。コンパイル手続きが無い場合NULL。 Tcl_ObjCmdProc *objProc;オブジェクト形式の手続き ClientData objClientData; Arbitrary value passed to object proc. Tcl_CmdProc *proc;文字列ベースの手続き ClientData clientData;/* Arbitrary value passed to string proc. */ Tcl_CmdDeleteProc *deleteProc; コマンドが削除されるときに呼び出す関数。 ClientData deleteData;/* Arbitrary value passed to deleteProc. */ int flags;コマンドのフラグ ImportRef *importRefPtr;このコマンドがimportされたとき、別の名前空間で作られたコマンドのList CommandTrace *tracePtr;トレース用リストの先頭を指すポインタ ソース typedef struct Command { Tcl_HashEntry *hPtr;/* Pointer to the hash table entry that refers * to this command. The hash table is either a * namespace s command table or an * interpreter s hidden command table. This * pointer is used to get a command s name * from its Tcl_Command handle. NULL means * that the hash table entry has been removed * already (this can happen if deleteProc * causes the command to be deleted or * recreated). */ Namespace *nsPtr;/* Points to the namespace containing this * command. */ int refCount;/* 1 if in command hashtable plus 1 for each * reference from a CmdName Tcl object * representing a command s name in a ByteCode * instruction sequence. This structure can be * freed when refCount becomes zero. */ int cmdEpoch;/* Incremented to invalidate any references * that point to this command when it is * renamed, deleted, hidden, or exposed. */ CompileProc *compileProc;/* Procedure called to compile command. NULL * if no compile proc exists for command. */ Tcl_ObjCmdProc *objProc;/* Object-based command procedure. */ ClientData objClientData;/* Arbitrary value passed to object proc. */ Tcl_CmdProc *proc;/* String-based command procedure. */ ClientData clientData;/* Arbitrary value passed to string proc. */ Tcl_CmdDeleteProc *deleteProc; /* Procedure invoked when deleting command to, * e.g., free all client data. */ ClientData deleteData;/* Arbitrary value passed to deleteProc. */ int flags;/* Miscellaneous bits of information about * command. See below for definitions. */ ImportRef *importRefPtr;/* List of each imported Command created in * another namespace when this command is * imported. These imported commands redirect * invocations back to this command. The list * is used to remove all those imported * commands when deleting this "real" * command. */ CommandTrace *tracePtr;/* First in list of all traces set for this * command. */ } Command; /* * Flag bits for commands. * * CMD_IS_DELETED -Means that the command is in the process of *being deleted (its deleteProc is currently *executing). Other attempts to delete the *command should be ignored. * CMD_TRACE_ACTIVE -1 means that trace processing is currently *underway for a rename/delete change. See the *two flags below for which is currently being *processed. * CMD_HAS_EXEC_TRACES -1 means that this command has at least one *execution trace (as opposed to simple *delete/rename traces) in its tracePtr list. * TCL_TRACE_RENAME -A rename trace is in progress. Further *recursive renames will not be traced. * TCL_TRACE_DELETE -A delete trace is in progress. Further *recursive deletes will not be traced. * (these last two flags are defined in tcl.h) */ #define CMD_IS_DELETED 0x1 #define CMD_TRACE_ACTIVE 0x2 #define CMD_HAS_EXEC_TRACES 0x4
https://w.atwiki.jp/study_java/pages/12.html
JAVA言語は、Sun Microsystems社が開発したプログラミング言語です。 JavaはC言語に似た表記法を採用しているが、C++よりオブジェクト指向を極めた言語かなぁと思う。 現在あるプログラミング言語の中では、C++とJAVAは基本的な文法や式は同じなのでC++の知識がある方は 取っ付きやすい言語ではないでしょうか? Javaで開発したソフトウェアはコンピューター依存することなく、基本的にはどのような(*1)プラットフォームでも動作する。何故どのようなプラットフォームでも実行できるか?それは Javaで記載されたプログラムをコンパイル する時に、Javaバイトコードと呼ばれる(*2)中間コードに変換される。Javaのソフトウェア等はJavaバイトコードで配布され、ユーザーがダウンロードして使う際に(*3)JavaVMというソフトウェアで使用中のプラットフォームのマシン語に変換し実行を可能にしている。 (*1) プラットフォーム ソフトウェアを実行させる時の必要とするOSや環境の事である。 例)Windowsプラットフォーム上で動作するソフト等は他のOSでは実行不可である。 互換があるなら・・・w (*2) 中間コード コンパイル時に生成される、実行用コード。 (*3) JavaVM:Java仮想マシン、ネットで配布等されているJavaソフトウェアは、Javaバイトコードと言う独自の形式なので、 JavaVMで「Javaバイトコード⇒現在のプラットフォームのマシン語」と言う風に変換し実行をしてくれると言う優れもの。 JavaVMが無ければJavaの実行自体が不可である。
https://w.atwiki.jp/sm_theme/pages/14.html
Command レイヤーの動作設定 基本的な書き方は Command=コマンド1,パラメータ;コマンド2,パラメータ;...;コマンドX,パラメータ; という感じ 例 Command=blend,add;x,100;y,200; ファイルの表示位置関連 horizalign,XXXXXX=基準位置 表示X位置の基準点を指定 left 左寄せ center 中央寄せ right 右寄せ 例 horizalign,right vertalign,XXXXXX=基準位置 表示Y位置の基準点を指定 top 上寄せ middle 中央寄せ bottom 下寄せ 例 vertalign,bottom x,XXXXXX=X座標 ファイルの表示X位置を設定 例 x,320 y,XXXXXX=Y座標 ファイルの表示Y位置を設定 例 y,240 z,XXXXXX=Z座標 ファイルの表示Z位置を設定 例 z,0 addx,XXXXXX=横にスクロールする値 指定した値だけ右にずらす マイナス値の場合は左にずらす 通常、linearなどと合わせて使う 例 addx,100;linear,1.0;addx,-100 addy,XXXXXX=縦にスクロールする値 指定した値だけ下にずらす マイナス値の場合は上にずらす 通常、linearなどと合わせて使う 例 addy,100;linear,1.0;addy,-100 addz,XXXXXX=奥にスクロールする値 指定した値だけ奥にずらす マイナス値の場合は手前にずらす 通常、linearなどと合わせて使う 例 addz,10;linear,1.0;addz,-10 ファイルの表示サイズ関連 zoom,XXXXXX=表示倍率 ファイルの表示倍率を設定 例 zoom,1.5 zoomx,XXXXXX=表示倍率 ファイル横幅の表示倍率を設定 例 zoomx,1.2 zoomy,XXXXXX=表示倍率 ファイル縦幅の表示倍率を設定 例 zoomy,1.2 zoomz,XXXXXX=表示倍率 ファイル奥行きの表示倍率を設定 例 zoomz,1.2 zoomtowidth,XXXXXX=表示サイズ ファイル横幅の表示サイズをピクセルで設定 例 zoomtowidth,640 zoomtoheight,XXXXXX=表示サイズ ファイル縦幅の表示サイズをピクセルで設定 例 zoomtoheight,480 maxwidth,XXXXXX=最大サイズ 表示対象が曲名など、一定のサイズではない場合の 最大横幅を設定する 例 maxwidth,600 ファイルの合成エフェクト関連 blend,XXXXXX=定義されている文字 ブレンド方法を設定 定義 ブレンド方法 normal 通常合成 add 加算合成 noeffect 描画されない 例 blend,add diffusealpha,XXXXXX=不透明度 不透明度を設定 1.0で完全不透明 例 diffusealpha,0.5 diffuse,R,G,B,AR=赤の強さG=緑の強さB=青の強さA=不透明度 カラーバランスを調整して合成 すべて1.0で、記述しない状態と同じ 白い画像の場合、このコマンドで色を付けることができる 例 diffuse,1.0,0.0,0.0,1.0 shadowlength,XXXXXX=影のズレ 影を表示させる glowshift 滑らかに色を変える 色を指定していない場合は透明⇔白のループ glowblink 色を点滅させる 色を指定していない場合は透明⇔白のループ diffuseshift 滑らかに色を変える 色を指定していない場合は透明⇔黒のループ diffuseblink 色を点滅させる 色を指定していない場合は透明⇔黒のループ rainbow 滑らかに色を変える 赤→橙→黄→緑→青→紫→赤…のループ effectperiod,XXXXXX=秒 エフェクトの1ループ時間を設定 glowshiftなどと一緒に使う 例 glowshift;effectperiod,1.5 effectclock,XXXXXX=定義されている文字 エフェクトの1ループ時間を設定 数字で指定できない値の設定が可能 定義 効果 timer 1秒で1ループ bgm 1拍で1ループ(主に選曲・ゲーム中に有効) effectcolor1,R,G,B,A effectcolor2,R,G,B,AR=赤の強さG=緑の強さB=青の強さA=不透明度 glowshiftなどで変化する色 例 赤から青に変化glowshift;effectperiod,1.5;effectcolor1,1.0,0.0,0.0,1.0;effectcolor2,0.0,0.0,1.0,1.0 vibrate 不規則に揺らす wag 一定方向に揺らす spin 一定方向に回転する bob 一定方向を行き来する bounce 一定方向を跳ねるように行き来する pulse effectmagnitude(後述)のXXX⇔YYYの倍率で伸縮する effectmagnitude,XXX,YYY,ZZZXXX=X方向の強さYYY=Y方向の強さZZZ=Z方向の強さ vibrateなどの動きの大きさを設定 例 vibrate;effectmagnitude,4,8,8 hidden,XXXXXX=非表示フラグ フラグを1にすると描画されなくなる アニメーション関連 sleep,XXXXXX=停止する秒 一定時間アニメーションを停止する linear,XXXXXX=実行する秒 指定した時間の長さでアニメーションを実行する
https://w.atwiki.jp/wnt0/pages/42.html
Undo、Redo を実装できる 何かを行うタイミングだけがわかっていて、具体的な処理内容がわからない場合(GUIメニューからのコマンドとか?)に使う クライアントからのコマンド要求をキューに貯めて、順番に実行することもできる #include iostream #include list using namespace std; // "Receiver" class// デバイスとか、出力するオブジェクトな感じclass Display {public void Action(double result, double oprnd_1st, double oprnd_2nd, string operation) { cout result " (" oprnd_1st " " operation " " oprnd_2nd ")" endl; } void UndoAction(double result) { cout "[undo] " result endl; } void RedoAction(double result, double oprnd_1st, double oprnd_2nd, string operation) { cout "[redo] " result " (" oprnd_1st " " operation " " oprnd_2nd ")" endl; }}; // "Command" abstract classclass Command {public Command(Display *disp, double operand) { m_disp = disp; m_operand = operand; } virtual double Execute(double cur_val) = 0; virtual double Undo() = 0; virtual double Redo() = 0;protected Display *m_disp; double m_org_val, m_operand, m_result;}; // "ConcreteCommand" classclass PlusCommand public Command {public PlusCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val + m_operand; m_disp- Action(m_result, m_org_val, m_operand, "+"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "+"); return m_result; }}; // "ConcreteCommand" classclass MinusCommand public Command {public MinusCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val - m_operand; m_disp- Action(m_result, m_org_val, m_operand, "-"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "-"); return m_result; }}; // "ConcreteCommand" classclass MultiplicationCommand public Command {public MultiplicationCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { m_org_val = cur_val; m_result = m_org_val * m_operand; m_disp- Action(m_result, m_org_val, m_operand, "*"); return m_result; } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "*"); return m_result; }}; // "ConcreteCommand" classclass DivisionCommand public Command {public DivisionCommand(Display *disp, double operand) Command(disp, operand) { } double Execute(double cur_val) { if (m_operand == 0) { cout "division error." endl; return cur_val; } else { m_org_val = cur_val; m_result = m_org_val / m_operand; m_disp- Action(m_result, m_org_val, m_operand, "/"); return m_result; } } double Undo() { m_disp- UndoAction(m_org_val); return m_org_val; } double Redo() { m_disp- RedoAction(m_result, m_org_val, m_operand, "/"); return m_result; }}; // "Invoker" classclass Calculator {public Calculator(double init_val) { m_cur_val = init_val; cout "initial value " m_cur_val endl; m_cur_cmd_it = m_history.begin(); } ~Calculator() { list Command* iterator it = m_history.begin(); while (it != m_history.end()) { delete *it; ++it; } } void Exec(Command *cmd) { if (m_cur_cmd_it != m_history.begin()) { // 戻した分を削除 m_history.erase(m_history.begin(), m_cur_cmd_it); } m_history.push_front(cmd); // 先頭に追加 m_cur_cmd_it = m_history.begin(); m_cur_val = cmd- Execute(m_cur_val); } void Undo(unsigned int num = 1) { while (num--) { if (m_cur_cmd_it == m_history.end()) { cout "could not undo." endl; break; } m_cur_val = (*m_cur_cmd_it)- Undo(); ++m_cur_cmd_it; } } void Redo(unsigned int num = 1) { while (num--) { if (m_cur_cmd_it == m_history.begin()) { cout "could not redo." endl; return; } --m_cur_cmd_it; m_cur_val = (*m_cur_cmd_it)- Redo(); } }private double m_cur_val; list Command* m_history; list Command* iterator m_cur_cmd_it;}; // clientint main() { // invoker Calculator *calc = new Calculator(0); // receiver Display *disp = new Display(); calc- Exec(new PlusCommand(disp, 10)); // 10 calc- Exec(new PlusCommand(disp, 10)); // 20 calc- Exec(new MinusCommand(disp, 5)); // 15 calc- Exec(new MultiplicationCommand(disp, 3)); // 45 calc- Exec(new DivisionCommand(disp, 10)); // 4.5 calc- Undo(3); // 45 = 15 = 20 calc- Redo(2); // 15 = 45 calc- Exec(new PlusCommand(disp, 12)); // 57 calc- Exec(new MinusCommand(disp, 2)); // 55 calc- Exec(new DivisionCommand(disp, 10)); // 5.5 calc- Undo(); // 55 calc- Redo(2); delete disp; delete calc; return 0;} 出力 initial value 0 10 (0 + 10) 20 (10 + 10) 15 (20 - 5) 45 (15 * 3) 4.5 (45 / 10) [undo] 45 [undo] 15 [undo] 20 [redo] 15 (20 - 5) [redo] 45 (15 * 3) 57 (45 + 12) 55 (57 - 2) 5.5 (55 / 10) [undo] 55 [redo] 5.5 (55 / 10) could not redo. 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Command http //japan.internet.com/developer/20081003/26.html
https://w.atwiki.jp/yo-kichi/pages/16.html
設定ファイルをJavaで読み込む 時間取得まとめ Javaについて思ったこと Singletonで自身がスレッドになるクラスでなぞエラー Javaで効果音、BGM Javaテンプレ **何ができるか ***実装したい機能 ---- **感想 ---- コメント #pcomment(below2,noname,20,enablenamelink,enableurl) コメント
https://w.atwiki.jp/dotcom/pages/337.html
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メソッドを引数を渡して実行したいの
https://w.atwiki.jp/programming_java/pages/10.html
一覧 Javaの概要 Javaとは 開発環境構築 開発環境の準備 はじめてのJavaプログラム 基本文法 変数 定数 データ型 型キャスト 演算子 コメント 制御 if switch while do-while for 拡張for break continue オブジェクト指向 class new演算子 フィールド static final メソッド コンストラクター package import import static ネストクラス モジュール 継承、インターフェイス extends interface implements 無名クラス(匿名クラス) ラムダ式 修飾子 修飾子 アクセス修飾子 abstract修飾子 static修飾子 final修飾子 transient修飾子 volatile修飾子 synchronized修飾子 native修飾子 strictfp修飾子 例外処理 例外処理 try… catch finally throw 列挙型 列挙型 列挙型のメソッド コンストラクター/フィールド/メソッドの定義 ジェネリックス ジェネリックスの基本 ジェネリックスの定義 ジェネリックメソッドの定義 アノテーション 標準アノテーション @interface アノテーションを利用する コレクションフレームワーク コレクションを初期化する synchronizedList/synchronizedMap/synchronizedSetメソッド ArrayListクラス LinkedList HashMap TreeMap NavigableMap HashSet ArrayDeque Stream API Stream APIの基本 Streamの生成 Streamによる中間処理 Streamの終端処理 ストリーム FileInputStream/FileOutputStreamクラス InputStreamReader/OutputStreamWriterクラス BufferedReader/BufferedWriterクラス ObjectInputStream/ObjectOutputStreamクラス Fileクラス ソケット通信 ServerSocketクラス Socketクラス HTTP通信 URLConnectionクラス HttpClientクラス 正規表現 主な正規表現パターン Pattern/Matcherクラス データベース データベースの準備 データベースに接続/切断する ユーティリティ Randomクラス DateFormatクラス NumberFormatクラス Timerクラス Optionalクラス スレッド Threadクラス/Runnableインターフェイス synchronized修飾子/ブロック ReentrantLockクラス AtomicXxxxxクラス Executorsクラス
https://w.atwiki.jp/wicky/pages/18.html
command