Quantcast
Viewing all articles
Browse latest Browse all 4643

しんさんの出張所 はてな編: [NetBeans][Java]NetBeansとMavenの落とし穴

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

早い対応ありがとうございます。

NetBeansではソースパッケージのみアーカイブされますのでテストとは意識して分けなくてはなりません。


あと、このソースには問題はないのですが、今のNetBeansはMavenをそのまま開くことが出来ますが、その場合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); } } } 

Viewing all articles
Browse latest Browse all 4643

Trending Articles