NetBeansとMavenの落とし穴

http://d.hatena.ne.jp/backpaper0/20100818/1282142894

早い対応ありがとうございます。
NetBeansではソースパッケージのみアーカイブされますのでテストとは意識して分けなくてはなりません。


あと、このソースには問題はないのですが、今のNetBeansMavenをそのまま開くことが出来ますが、その場合AntベースではなくMaven2ベースのプロジェクトになります。実行もコンパイルも全てMavenです。

Antと違い、コンパイルを含めてあらゆる動作が遅くなるのが欠点です。また、Mavenの実行もプラグインで実行していますが、この実行時に標準入力を受け付けなくなります。

ええ、つまりJavaSEな環境と相性がとても悪いのです。

幸い差し替えが出来ますのでアクションrunをexec:javaに差し替えるだけでF6等での実行は一応いけます。が、完全に同じものとも思えません。

とくにShift+F6での実行はよくやりますが、これでは差し替えはうまくいかない模様。


とまぁ、Mavenはmainから起動しないWebアプリのほうが無難です、NetBeansの場合。

ちなみにおいらは標準入力でのブロックはほとんどしません。ダブルクリックで実行可能なjarと相性が悪いので。
JavaSEなアプリを実行する環境ならばまずGUIは使えてるはずですしね。

というわけでこんなコードは書きまくりだったり。

public class RunServer{

    public static void main(String[] args) {
        System.out.println("起動");
        waitServer();
        System.out.println("停止");
    }

    private static void waitServer() {
        try {
            SwingUtilities.invokeAndWait(new Runnable(){
                public void run() {
                    JOptionPane.showMessageDialog(null, "サーバー起動中");
                }
            });
        } catch (InterruptedException ex) {
            Logger.getLogger(RunServer.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InvocationTargetException ex) {
            Logger.getLogger(RunServer.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}