我正在使用
运行詹金斯java -jar jenkins.war -httpPort=31114
它可以正确启动,现在我试图在后台运行它,我发现可以使用Start Jenkins in the background中提到的nohup java -jar jenkins.war -httpPort=31114 &
来完成它。
但是当我终止从头开始的会话并尝试在同一端口在后台运行它时,出现以下错误:
SEVERE: Container startup failed
java.io.IOException: Failed to start Jetty
at winstone.Launcher.<init>(Launcher.java:186)
at winstone.Launcher.main(Launcher.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at Main._main(Main.java:375)
at Main.main(Main.java:151)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:339)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:235)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.server.Server.doStart(Server.java:395)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at winstone.Launcher.<init>(Launcher.java:184)
... 7 more
答案 0 :(得分:1)
Caused by: java.net.BindException: Address already in use
这意味着詹金斯已经在给定端口上运行,或者其他进程正在使用该端口。
netstat -nltp
使用此命令检查所有打开的端口。如果jenkin已准备好在该端口上运行,或者如果其他进程正在使用该端口,则可以终止该进程。
下面您所使用的建议是正确的。可能是您打了两次。
nohup java -jar jenkins.war -httpPort=31114 &
ps -ef | grep jenkins
。要检查jenkins是否已经在运行。
答案 1 :(得分:0)
我尝试将命令nohup java -jar jenkins.war --httpPort=31114 &
添加到bash文件中并运行该文件,该文件可以正常工作