2017-06-01 2 views
3

Maven(mvn clean install exec:exec)で実行できる実行可能なTomcat jarアプリケーションを作成しました。このアプリケーションは、Ctrl + C(Linux)で停止できます。ただし、Windowsでは実行できません。誰もが理由と解決策を知っていますか?Mavenでjavaプロセスを開始した理由は、WindowsではCtrl + Cで停止できません

環境:のpom.xml

$ mvn -version 
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T22:51:42+09:00) 
Maven home: c:\apache-maven-3.2.2 
Java version: 1.8.0_121, vendor: Oracle Corporation 
Java home: c:\Program Files\Java\jdk1.8.0_121\jre 
Default locale: ja_JP, platform encoding: MS932 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos" 

を抜粋:再現する

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.1</version> 
    <executions> 
     <execution> 
      <id>tomcat-run</id> 
      <goals> 
       <goal>exec-war-only</goal> 
      </goals> 
      <phase>package</phase> 
      <configuration> 
       <path>/</path> 
       <enableNaming>true</enableNaming> 
       <finalName>embtest.jar</finalName> 
       <charset>utf-8</charset> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <failOnMissingWebXml>false</failOnMissingWebXml> 
     <warName>ROOT</warName> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
     <execution> 
      <id>startup-uber-tomcat</id> 
      <phase>install</phase> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      <configuration> 
       <classpathScope>test</classpathScope> 
       <executable>java</executable> 
       <arguments> 
        <argument>-jar</argument> 
        <argument>target/embtest.jar</argument> 
       </arguments> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

ステップ:

(1)Windows上でコマンドを実行します。

$ git clone https://github.com/k-tamura/embtest.git 
$ cd embtest 
$ mvn clean install exec:exec 

(2)http://localhost:8080 - >メインページへのアクセスが表示されます。

(3)を押しはCtrl +C

(4)アクセスhttp://localhost:8080へ - >メインページはまだ(Tomcatが停止されていません)が表示されます。

+0

それはあなたが実行される1つから分離し、コンソールウィンドウを開いていますか?もしそうなら、そのコンソールを選択し、CTRL + Cを押して何が起こるかを見てください... –

+0

あなたが構築しているjarファイルを実行するmavenゴールを実行しているようです。それはちょっと変だ。それは動作しましたか? –

+0

to:Jorge、No. 1つのウィンドウで実行します。 –

答えて

0

すべてのジョブを停止するには、次の使用は、キーはCtrl +Cを組み合わせると

mvn tomcat7:shutdown 

を、まだ働い何かを持っています。

参考:

http://tomcat.apache.org/maven-plugin-2.2/tomcat7-maven-plugin/plugin-info.html

http://tomcat.apache.org/maven-plugin-2.2/tomcat7-maven-plugin/shutdown-mojo.html

+0

私は 'mvn tomcat7:shutdown'を試みましたが、Tomcatは停止しませんでした。私もpom.xmlを変更する必要がありますか? –

+0

Windowsのタスクマネージャで 'java'プロセスを終了します。 LinuxでTomcatサーバーをシャットダウンできれば、WindowsでTomcatをシャットダウンするのは同じだと思います。 –

+0

私はタスクマネージャがプロセスを殺すことができると知っていますが、私はそれを使いたくありません。 –

関連する問題