2014-09-04 76 views
0

我有和新的Spring項目,我用Maven來創建它。 我的運行配置是maven build base directory :${project_loc}goals : tomcat:run。 當我第一次運行我的項目它確定。但是當我再次運行它會顯示此錯誤:無法執行目標org.codehaus.mojo:tomcat-maven-plugin :: run

java.net.BindException: Address already in use: JVM_Bind <null>:8080 
    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549) 
    at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176) 
    at org.apache.catalina.connector.Connector.initialize(Connector.java:1014) 
    at org.apache.catalina.startup.Embedded.start(Embedded.java:830) 
    at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558) 
    at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) 
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:188) 
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:184) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.net.BindException: Address already in use: JVM_Bind 
    at java.net.DualStackPlainSocketImpl.bind0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106) 
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382) 
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190) 
    at java.net.ServerSocket.bind(ServerSocket.java:375) 
    at java.net.ServerSocket.<init>(ServerSocket.java:237) 
    at java.net.ServerSocket.<init>(ServerSocket.java:181) 
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50) 
    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538) 
    ... 18 more 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 9.784 s (Wall Clock) 
[INFO] Finished at: 2014-09-04T23:29:23+03:30 
[INFO] Final Memory: 17M/84M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:run (default-cli) on project javaCodeGeeks: Could not start Tomcat: Protocol handler initialization failed: java.net.BindException: Address already in use: JVM_Bind <null>:8080 -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

當我關閉eclipse並再次打開它時,它就ok! 也許這是一個簡單的問題,但我是新的在maven和tomcat。

回答

0

我想你還沒有殺死你的最後一個應用程序,然後再嘗試第二次。如果您運行該應用程序,它會在本地計算機上保留一個端口。所以如果你再試一次,你會得到一個錯誤。如果你想同時有兩個應用程序,他們應該使用不同的端口。如果你只需要一個,請確保只運行一次。

+0

謝謝。我如何殺死服務器上的最後一個應用程序? – amir 2014-09-04 20:23:02

+0

作者:「應用程序」我的意思是你的應用程序服務器。 tomcat:運行試圖再次運行服務器 – 2014-09-04 20:37:08

+0

我應該使用tomcat:運行還是另一個目標? – amir 2014-09-04 20:38:44

相關問題