2014-09-04 75 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

相关问题