pom.xml : buildで実行時のクラスを指定する

サンプルアプリを実行する際に、main()メソッドを持つクラスがどれかを指定しなかったですよね。
Javaのコマンドライン実行では、普通は 「java test.HellowWorld」 みたいに main()メソッドを持つ
クラス名を java コマンドの引数にしていするのですが....

このカラクリは、JXPathUI-1.0.jar 内部に MANIFEST という宣言を入れていて、そこに
起動時にこのクラスを実行しろと書いておいたのです。
jarファイルのMANIFESTがどういうものかは、ご存知の方も多いのではないでしょうか

さっそく、Maven2に、自動的に MANIFEST宣言を埋め込ませるための pluginの記述を紹介します。

build→plugins→pluginの記述例

本サンプルでは、buildブロック内の plugin に以下の設定を追加しました

記述する項目
項目名 サンプルの設定値 意味
artifactId maven-jar-plugin 本目的のために適用するpluginのモジュール名
mainClass com.jxpath.MainFrame 起動時に実行させたい自作のクラス名を書きます
addClassPath true 次のclasspathPrefixとセットで lib以下のjarにクラスパスを設定します
classpathPrefix lib lib以下のjarをクラスパスに追加します。

個々の設定を見る

左のメニューの「pom.xml」のdependencyおよびbuildの記事をご覧ください。