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が停止されていません)が表示されます。
それはあなたが実行される1つから分離し、コンソールウィンドウを開いていますか?もしそうなら、そのコンソールを選択し、CTRL + Cを押して何が起こるかを見てください... –
あなたが構築しているjarファイルを実行するmavenゴールを実行しているようです。それはちょっと変だ。それは動作しましたか? –
to:Jorge、No. 1つのウィンドウで実行します。 –