我正在使用Jenkins,从昨天起它就停止工作了。我看了看Windows服务,发现它已经被(以某种方式)停止了。我重新启动了它,但之后它立即停止了。
我查看了运行服务的目录(C:\Program Files\Jenkins),并打开了其中名为jenkins.out.log的日志文件。这就是它说的
Running from: C:\Program Files\Jenkins\jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
[Winstone 2012/05/17 10:14:42] - Beginning extraction from war file
Jenkins home directory: C:\Program Files\Jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
[Winstone 2012/05/17 10:14:44] - Winstone shutdown successfully
[Winstone 2012/05/17 10:14:44] - Container startup failed
java.io.IOException: Failed to start a listener: winstone.HttpListener
at winstone.Launcher.spawnListener(Launcher.java:250)
at winstone.Launcher.<init>(Launcher.java:202)
at winstone.Launcher.main(Launcher.java:398)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at Main._main(Main.java:268)
at Main.main(Main.java:96)
Caused by: java.io.IOException: Failed to listen on port 8080
at winstone.HttpListener.getServerSocket(HttpListener.java:117)
at winstone.HttpListener.start(HttpListener.java:70)
at winstone.Launcher.spawnListener(Launcher.java:241)
... 8 more
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at winstone.HttpListener.getServerSocket(HttpListener.java:112)
... 10 more
发布于 2012-05-17 17:44:19
已修复-适用于将来可能遇到此问题的任何其他人。我使用了这个Techrepublic article,它可以归结为
netstat -a -n -o | grep "8080"
了解如何找出哪个进程正在使用端口8080,然后在任务管理器中终止它,然后重新启动Jenkins,一切正常(到目前为止!)。
发布于 2016-06-04 20:52:36
要在WinStone容器(与Jenkins war捆绑在一起的默认容器)上启动Jenkins,请使用以下命令:
java -jar jenkins.war --ajp13Port=-1 --httpPort=9090
此外,要检查Windows中使用的任何应用程序是否正在使用某个端口:
netstat -ano | find "9090"
在Tomcat上运行Jenkins更好。
发布于 2013-11-20 09:53:23
正如在错误堆栈跟踪中提到的,端口8080已经在使用中,请检查端口8080的使用位置,或者将Jenkins.xml中的Jenkins端口更改为其他可用端口。
https://stackoverflow.com/questions/10632992
复制相似问题