2016-05-17 12 views
2

私はスプリングブートアプリケーションに埋め込みのTomcatを使用しています。 私は以下を目標にアプリケーションをTUN:eclipseのシャットダウンボタンはシャットダウンできません埋め込みのTomcat for spring boot

clean spring-boot:run 

、それはエラーなしで実行されます。私はそれをシャットダウンするためにEclipseのシャットダウンボタンを使用します。私はそれを実行しよう 二回目は、私はこれを取得:

Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project cpanel: Failed to clean project: Failed to delete XXXXXXXXX\target\classes\hibernate\security\user\User.hbm.xml -> [Help 1] 

それは次回のターゲットを削除することはできませんTomcatをシムズ。私の風袋に何が間違っていますか? 何か間違っているのですか?

application.ymlで私のサーバーの構成:

server: 
compression: 
    enabled: true 
port: 8080 
servlet-path: /rest 

と私のTomcatの依存性:

<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
    <scope>provided</scope> 
</dependency> 
+0

私は '春ブートと思われる:run'が第二JVMをフォークしており、Eclipseがそれらをシャットダウンしません。どちらも正しくダウンしています。私はEclipseのMaven統合を介して実行するのではなく、メインクラスを直接Eclipseで実行することによって、Mavenを完全に画像から取り除きます。 –

答えて

2

、この問題を解決するtomcat maven pluginを変更し、fork

falseから
<plugin> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-maven-plugin</artifactId> 
     <configuration> 
      <fork>false</fork> 
     </configuration> 
    </plugin> 
1

を追加するには私はこのバットスクリプトコマンドを書いた:

FOR /F "tokens=5 delims= " %%P IN ('netstat -a -n -o ^| findstr :8080.*LISTENING') DO TaskKill.exe /PID %%P /F pausekillport.batでそれを保存し、その後のmaven-antrun-プラグインでそれを呼ばれる:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.6</version> 
    <executions> 
     <execution> 
      <phase>compile</phase> 
      <configuration> 
       <target> 
        <exec executable="cmd.exe" spawn="true"> 
         <arg value="/c" /> 
         <arg value="F:\Java\Projects\killport.bat" /> 
        </exec> 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
関連する問題