Maven2プロジェクトの実行

View: New views
3 Messages — Rating Filter:   Alert me  

Maven2プロジェクトの実行

by SHUJI Watanabe :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

渡辺です。
Maven2プロジェクトの実行時にバグなのか判断つかない現象に遭遇しました。

再現方法(NB6.7RC2 Java SEパック)
1. Maven2プロジェクトを作成
2. メインスレッド以外を作成して、ループなどをかける(サンプルソース参照)
3. 実行する
4. 停止・・・・できないorz

どうも、Maven2のexecute goal が実行されているらしく、NetBeansから停止できなくなります。
外部プロセスなのかNetBeansを落としてもjava.exeのプロセスは残っているので
タスクマネージャから殺さないと死にません。
ServerSocketを使ったアプリを作っていて気づきました。

Maven2プロジェクトの実行時にexec goalを起動しないようにできますか?
もしくは何か情報があれば教えてください。

問題が起きるサンプル
----
public class App {

    public static void main(String[] args) {
        Executors.newSingleThreadExecutor().submit(new Runnable() {

            public void run() {
                while (true) {
                    try {
                        System.out.println("!");
                        Thread.sleep(1000);
                    } catch (InterruptedException ex) {
                        ex.printStackTrace();
                    }
                }
            }
        });
    }
}
----
--
================================
Shuji Watanabe (skypeId: shuji.w6e)
  Blog:
    http://d.hatena.ne.jp/shuji_w6e/
  Labo:
    http://www.deathmarch.jp/
  Community:
    http://www.sapporo-java.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
For additional commands, e-mail: nbdiscuss_ja-help@...


Re: Maven2プロジェクトの実行

by SHUJI Watanabe :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

渡辺です。
原因のアタリがついてので自己レスです。

Maven2プラグインでは実行に
org.codehaus.mojo:exec-maven-plugin:1.1.1:exec
というプラグインのgoalを指定しており、
このプラグインから外部プロセスとしてjava.exeを起動しているようです。
-Dexec.executable=java
この時に色々とパラメータを渡しているようです。
-Dexec.args=-Xms16m -Xmx64m -classpath %classpath
jp.deathmarch.s4.server.StreamingServer
mvnコマンドを使ってコマンドラインから実行した場合でも同じようにプロセスは残りました。

問題はプラグインがmvnを使って実行をかけている点かと思います。
通常通りに実行できないかと調べてみたのですが、
プロジェクトのプロパティのアクションで「外部Mavenを構築実行の為に使用」とあり
これをはずせばいいのかな?と思いました。
が、このチェックボックスはけしてもまたついてしまい、無効に出来ません。

後は、org.codehaus.mojo:exec-maven-plugin:1.1.1:javaを使って
同一のVMで動かすなどの手段がとれそうかな、といった所です。
どちらにせよ、毎回Mavenが動くのはちょっと厳しいです。
Maven2プロジェクトとして作り、通常のJavaプロジェクトとしても使いたいというのは無理な話なんですかね?

2009/06/09 23:39 に Shuji Watanabe<shuji.w6e@...> さんは書きました:

> 渡辺です。
> Maven2プロジェクトの実行時にバグなのか判断つかない現象に遭遇しました。
>
> 再現方法(NB6.7RC2 Java SEパック)
> 1. Maven2プロジェクトを作成
> 2. メインスレッド以外を作成して、ループなどをかける(サンプルソース参照)
> 3. 実行する
> 4. 停止・・・・できないorz
>
> どうも、Maven2のexecute goal が実行されているらしく、NetBeansから停止できなくなります。
> 外部プロセスなのかNetBeansを落としてもjava.exeのプロセスは残っているので
> タスクマネージャから殺さないと死にません。
> ServerSocketを使ったアプリを作っていて気づきました。
>
> Maven2プロジェクトの実行時にexec goalを起動しないようにできますか?
> もしくは何か情報があれば教えてください。
>
> 問題が起きるサンプル
> ----
> public class App {
>
>    public static void main(String[] args) {
>        Executors.newSingleThreadExecutor().submit(new Runnable() {
>
>            public void run() {
>                while (true) {
>                    try {
>                        System.out.println("!");
>                        Thread.sleep(1000);
>                    } catch (InterruptedException ex) {
>                        ex.printStackTrace();
>                    }
>                }
>            }
>        });
>    }
> }
> ----
> --
> ================================
> Shuji Watanabe (skypeId: shuji.w6e)
>  Blog:
>    http://d.hatena.ne.jp/shuji_w6e/
>  Labo:
>    http://www.deathmarch.jp/
>  Community:
>    http://www.sapporo-java.org/
>



--
================================
Shuji Watanabe (skypeId: shuji.w6e)
  Blog:
    http://d.hatena.ne.jp/shuji_w6e/
  Labo:
    http://www.deathmarch.jp/
  Community:
    http://www.sapporo-java.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
For additional commands, e-mail: nbdiscuss_ja-help@...


Re: Re: Maven2プロジェクトの実行

by Masaki :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

渡辺さん、ありがとうございました。

バグはおそらく以下でしょうか。前からある問題のようですね。

http://www.netbeans.org/issues/show_bug.cgi?id=135475

簡単な回避策があるのかどうか、バグレポートを通して聞いてみて
いますので何かわかりましたらお知らせします。

> Maven2プロジェクトとして作り、通常のJavaプロジェクトとしても使いたいというのは無理な話なんですかね?

試してみていませんが、既存のソースを使用するプロジェクトや
自由形式のプロジェクト等で対処できないでしょうか。

どなたかよい方法を知っている方がいたら教えてください。
よろしくお願いします。

片貝

Shuji Watanabe wrote:

> 渡辺です。
> 原因のアタリがついてので自己レスです。
>
> Maven2プラグインでは実行に
> org.codehaus.mojo:exec-maven-plugin:1.1.1:exec
> というプラグインのgoalを指定しており、
> このプラグインから外部プロセスとしてjava.exeを起動しているようです。
> -Dexec.executable=java
> この時に色々とパラメータを渡しているようです。
> -Dexec.args=-Xms16m -Xmx64m -classpath %classpath
> jp.deathmarch.s4.server.StreamingServer
> mvnコマンドを使ってコマンドラインから実行した場合でも同じようにプロセスは残りました。
>
> 問題はプラグインがmvnを使って実行をかけている点かと思います。
> 通常通りに実行できないかと調べてみたのですが、
> プロジェクトのプロパティのアクションで「外部Mavenを構築実行の為に使用」とあり
> これをはずせばいいのかな?と思いました。
> が、このチェックボックスはけしてもまたついてしまい、無効に出来ません。
>
> 後は、org.codehaus.mojo:exec-maven-plugin:1.1.1:javaを使って
> 同一のVMで動かすなどの手段がとれそうかな、といった所です。
> どちらにせよ、毎回Mavenが動くのはちょっと厳しいです。
> Maven2プロジェクトとして作り、通常のJavaプロジェクトとしても使いたいというのは無理な話なんですかね?
>
> 2009/06/09 23:39 に Shuji Watanabe<shuji.w6e@...> さんは書きました:
>> 渡辺です。
>> Maven2プロジェクトの実行時にバグなのか判断つかない現象に遭遇しました。
>>
>> 再現方法(NB6.7RC2 Java SEパック)
>> 1. Maven2プロジェクトを作成
>> 2. メインスレッド以外を作成して、ループなどをかける(サンプルソース参照)
>> 3. 実行する
>> 4. 停止・・・・できないorz
>>
>> どうも、Maven2のexecute goal が実行されているらしく、NetBeansから停止できなくなります。
>> 外部プロセスなのかNetBeansを落としてもjava.exeのプロセスは残っているので
>> タスクマネージャから殺さないと死にません。
>> ServerSocketを使ったアプリを作っていて気づきました。
>>
>> Maven2プロジェクトの実行時にexec goalを起動しないようにできますか?
>> もしくは何か情報があれば教えてください。
>>
>> 問題が起きるサンプル
>> ----
>> public class App {
>>
>>    public static void main(String[] args) {
>>        Executors.newSingleThreadExecutor().submit(new Runnable() {
>>
>>            public void run() {
>>                while (true) {
>>                    try {
>>                        System.out.println("!");
>>                        Thread.sleep(1000);
>>                    } catch (InterruptedException ex) {
>>                        ex.printStackTrace();
>>                    }
>>                }
>>            }
>>        });
>>    }
>> }
>> ----
>> --
>> ================================
>> Shuji Watanabe (skypeId: shuji.w6e)
>>  Blog:
>>    http://d.hatena.ne.jp/shuji_w6e/
>>  Labo:
>>    http://www.deathmarch.jp/
>>  Community:
>>    http://www.sapporo-java.org/
>>
>
>
>


--
Masaki Katakai
Sun Microsystems K.K.
http://blogs.sun.com/katakai


---------------------------------------------------------------------
To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
For additional commands, e-mail: nbdiscuss_ja-help@...