首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Mac上运行Jenkins

无法在Mac上运行Jenkins
EN

Stack Overflow用户
提问于 2011-11-29 19:18:32
回答 5查看 29.4K关注 0票数 22

我已经从Jenkins web site下载了Mac原生软件包,安装了它,在http://localhost:8080/上打开我的浏览器,得到了错误页面,内容是这样的:

代码语言:javascript
复制
Status Code: 404
Exception: Request URL / not found.<br><br>
Stacktrace:
Generated by Winstone Servlet Engine v0.9.10 at Tue Nov 29 12:00:52 CET 2011

我在/Applications/Jenkins中找到了jenkins.war,并尝试用java -jar jenkins.war运行它

代码语言:javascript
复制
$ pwd
/Applications/Jenkins


$ ls
jenkins.war

$ java -jar jenkins.war
Running from: /Applications/Jenkins/jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/11/29 12:03:12] - Beginning extraction from war file
Jenkins home directory: /Users/zeljko/.jenkins found at: $user.home/.jenkins
[Winstone 2011/11/29 12:03:16] - Winstone shutdown successfully
[Winstone 2011/11/29 12:03:16] - 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(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    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
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
    at java.net.ServerSocket.bind(ServerSocket.java:328)
    at java.net.ServerSocket.<init>(ServerSocket.java:194)
    at java.net.ServerSocket.<init>(ServerSocket.java:150)
    at winstone.HttpListener.getServerSocket(HttpListener.java:112)
    ... 10 more

Nov 29, 2011 12:03:16 PM jenkins.model.Jenkins$6 onAttained
INFO: Started initialization
Nov 29, 2011 12:03:16 PM hudson.WebAppMain$2 run
SEVERE: Failed to initialize Jenkins
java.lang.InterruptedException
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:244)
    at jenkins.model.Jenkins.executeReactor(Jenkins.java:816)
    at jenkins.model.Jenkins.<init>(Jenkins.java:730)
    at hudson.model.Hudson.<init>(Hudson.java:81)
    at hudson.model.Hudson.<init>(Hudson.java:77)
    at hudson.WebAppMain$2.run(WebAppMain.java:217)

由于错误消息显示为Address already in use,因此我尝试在另一个端口上运行它:

代码语言:javascript
复制
$ java -jar jenkins.war --httpPort=8081
Running from: /Applications/Jenkins/jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/11/29 12:11:26] - Beginning extraction from war file
Jenkins home directory: /Users/zeljko/.jenkins found at: $user.home/.jenkins
[Winstone 2011/11/29 12:11:27] - HTTP Listener started: port=8081
[Winstone 2011/11/29 12:11:27] - Winstone shutdown successfully
[Winstone 2011/11/29 12:11:27] - Container startup failed
java.io.IOException: Failed to start a listener: winstone.ajp13.Ajp13Listener
    at winstone.Launcher.spawnListener(Launcher.java:250)
    at winstone.Launcher.<init>(Launcher.java:203)
    at winstone.Launcher.main(Launcher.java:398)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at Main._main(Main.java:268)
    at Main.main(Main.java:96)
Caused by: java.io.IOException: Failed to listen on port 8009
    at winstone.ajp13.Ajp13Listener.start(Ajp13Listener.java:92)
    at winstone.Launcher.spawnListener(Launcher.java:241)
    ... 8 more
Caused by: java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
    at java.net.ServerSocket.bind(ServerSocket.java:328)
    at java.net.ServerSocket.<init>(ServerSocket.java:194)
    at java.net.ServerSocket.<init>(ServerSocket.java:150)
    at winstone.ajp13.Ajp13Listener.start(Ajp13Listener.java:87)
    ... 9 more

Nov 29, 2011 12:11:27 PM jenkins.model.Jenkins$6 onAttained
INFO: Started initialization
Nov 29, 2011 12:11:27 PM hudson.WebAppMain$2 run
SEVERE: Failed to initialize Jenkins
java.lang.InterruptedException
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:485)
    at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:244)
    at jenkins.model.Jenkins.executeReactor(Jenkins.java:816)
    at jenkins.model.Jenkins.<init>(Jenkins.java:730)
    at hudson.model.Hudson.<init>(Hudson.java:81)
    at hudson.model.Hudson.<init>(Hudson.java:77)
    at hudson.WebAppMain$2.run(WebAppMain.java:217)

但我收到Address already in use错误消息,我尝试哪个端口并不重要。

我已经停止了防火墙,以防万一(系统偏好设置>安全>防火墙>停止)。这并没有起到作用。

我已经将jenkins.war复制到/Users/zeljko/Jenkins,并尝试使用java -jar jenkins.warjava -jar jenkins.war --httpPort=8081运行它。相同的错误消息。

我已经从网站上下载了Latest and greatest (1.441) jenkins.war,把它移到了/Users/zeljko/Jenkins上,并尝试了java -jar jenkins.warjava -jar jenkins.war --httpPort=8081。相同的错误消息。

环境:

Mac OS X 10.6.8

代码语言:javascript
复制
$ java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

我在浏览Jenkins web sitewikibook,到处搜索,但我就是不明白我必须做什么才能让它工作。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-11-30 07:31:37

这个问题似乎已经被添加到Jenkins的Jira中,希望很快就能得到解决:https://issues.jenkins-ci.org/browse/JENKINS-11714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

在我的10.7.2安装中,我创建了missing Home文件夹并更改了Jenkins的所有者,从而使其正常工作。

安装Jenkins后,运行以下命令:

代码语言:javascript
复制
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo mkdir -p /Users/Shared/Jenkins/Home
sudo chown -R daemon /Users/Shared/Jenkins
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
票数 19
EN

Stack Overflow用户

发布于 2011-11-29 21:11:53

这解决了这个问题:

代码语言:javascript
复制
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

在那之后,我可以在/Users/zeljko/Jenkins上运行java -jar jenkins.war

来源:https://stackoverflow.com/a/8008901/17469

票数 8
EN

Stack Overflow用户

发布于 2012-01-02 21:34:17

ajp尝试收听8009。看起来你运行了tomcat (因此8080和8009已经被占用了)。启动Jenkins时关闭ajp。

从以下内容开始:

代码语言:javascript
复制
java -jar jenkins.war --httpPort=8081 --ajp13Port=-1
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8309844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档