[英]Mac 10.6 server / tomcat / jenkins / vncserver can not run in directory
[英]Can not run Jenkins on Mac
我從Jenkins 網站下載了Mac OS X本機包,安裝它,在http:// localhost:8080 /打開我的瀏覽器,並獲得了包含以下文本的錯誤頁面:
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
運行它:
$ 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
我已嘗試在另一個端口上運行它:
$ 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.war
和java -jar jenkins.war --httpPort=8081
運行它。 相同的錯誤消息。
我從網站上下載了最新最好的(1.441)jenkins.war ,將其移至/Users/zeljko/Jenkins
,並嘗試了java -jar jenkins.war
和java -jar jenkins.war --httpPort=8081
。 相同的錯誤消息。
環境:
Mac OS X 10.6.8
$ 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的Jira中,希望很快就會修復: https ://issues.jenkins-ci.org/browse/JENKINS-11714?page = com.atlassian.jira.plugin.system.issuetabpanels :所有-一個tabpanel
在我的10.7.2安裝上,我通過創建缺少的Home文件夾並更改Jenkins的所有者來使其工作。
安裝Jenkins后,運行以下命令:
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
這解決了這個問題:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
之后我可以在/Users/zeljko/Jenkins
運行java -jar jenkins.war
。
ajp試圖聽8009.看起來你運行tomcat(因此8080和8009已經被占用)。 啟動Jenkins時關閉ajp。
從...開始:
java -jar jenkins.war --httpPort=8081 --ajp13Port=-1
這主要是由8080端口被其他進程使用引起的(大多數情況下它是一個tomcat java進程)。 所以一開始你應該執行:
lsof -i:8080
然后殺死正在使用端口8080的進程。
之后,再次執行您的命令。
java -jar jenkins.war --httpPort=8081
看起來錯誤是安裝Mac OS X本機包。 我已經嘗試在我剛下載jenkins.war
的機器上運行java -jar jenkins.war
jenkins.war
,它運行正常。 現在看看如何運行或卸載本機包...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.