我们有一台运行FreeBSD 9.1-p17和Jenkins的服务器。我通过PuTTY与它互动。我们通过FreeBSD的ports collection从Jenkins 1.458升级到1.570。由于启动时遇到这个问题,我们决定重新安装。
首先我们卸载了Jenkins,然后我们将主要的Jenkins文件夹(/ usr / local / eweru-dev / jenkins)移动到备份位置,然后重新安装(再次从ports集合中)。当我们重新安装时,我们保留了用户'jenkins'的最后一次安装。
现在,当我们尝试启动Jenkins时,我们遇到了错误。下面的错误来自于我们尝试通过导航到/ usr / local / share / jenkins并键入java -jar jenkins.war
来启动它。当我们尝试将其作为服务运行时(使用service jenkins onestart
),我们会得到一条非常相似的消息。
该异常看起来类似于this blog中的异常,但我尝试将Jenkins连接到openjdk 7和8但无济于事。
来自我们旧的Jenkins的信息安装是否已经找到了解决这个问题的方法?或者可能与FreeBSD 9.1存在一些兼容性问题。
Running from: /usr/local/share/jenkins/jenkins.war
webroot: $user.home/.jenkins
Jul 18, 2014 10:53:51 AM winstone.Logger logInternal
INFO: Beginning extraction from war file
Jul 18, 2014 10:53:51 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: jetty-8.y.z-SNAPSHOT
Jul 18, 2014 10:53:55 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
Jenkins home directory: /homes/maxerdwien/.jenkins found at: $user.home/.jenkins
Jul 18, 2014 10:53:55 AM hudson.util.BootFailure publish
SEVERE: Failed to initialize Jenkins
hudson.util.AWTProblem: java.lang.NullPointerException
at hudson.WebAppMain.contextInitialized(WebAppMain.java:182)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:282)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at winstone.Launcher.<init>(Launcher.java:154)
at winstone.Launcher.main(Launcher.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at Main._main(Main.java:293)
at Main.main(Main.java:98)
Caused by: java.lang.NullPointerException
at sun.awt.X11FontManager.getDefaultPlatformFont(X11FontManager.java:779)
at sun.font.SunFontManager$2.run(SunFontManager.java:433)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<init>(SunFontManager.java:376)
at sun.awt.X11FontManager.<init>(X11FontManager.java:32)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:490)
at java.awt.Font.getFamily(Font.java:1219)
at java.awt.Font.getFamily_NoClientCode(Font.java:1193)
at java.awt.Font.getFamily(Font.java:1185)
at java.awt.Font.toString(Font.java:1682)
at hudson.util.ChartUtil.<clinit>(ChartUtil.java:229)
at hudson.WebAppMain.contextInitialized(WebAppMain.java:181)
... 19 more
Jul 18, 2014 10:53:56 AM org.eclipse.jetty.util.log.JavaUtilLog warn
WARNING: Failed startup of context w.{,file:/home/maxerdwien/.jenkins/war/},/homes/maxerdwien/.jenkins/war
java.lang.NullPointerException
at jenkins.util.groovy.GroovyHookScript.run(GroovyHookScript.java:63)
at hudson.util.BootFailure.publish(BootFailure.java:43)
at hudson.WebAppMain.contextInitialized(WebAppMain.java:244)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:282)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at winstone.Launcher.<init>(Launcher.java:154)
at winstone.Launcher.main(Launcher.java:354)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at Main._main(Main.java:293)
at Main.main(Main.java:98)
Jul 18, 2014 10:53:56 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Started SelectChannelConnector@0.0.0.0:8080
Jul 18, 2014 10:53:56 AM winstone.Logger logInternal
INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled
非常感谢任何帮助。我一直在谷歌上搜索。
答案 0 :(得分:4)
FreeBSD服务器是一个无头服务器。所以它没有安装任何图形,包括字体。
出于某种原因,Jenkins尝试在加载时访问字体。通过将选项-Djava.awt.headless=true
添加到容器JVM可以抑制此行为。这是对我有用的解决方案。
看起来某些操作系统会识别出这种类型的错误,但FreeBSD却没有。 https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+got+java.awt.headless+problem
答案 1 :(得分:2)
检查jenkins文件夹的权限。确保用户运行jenkins服务器有权访问该文件夹。
答案 2 :(得分:1)
对我来说-Djava.awt.headless=true
根本没有帮助。事实上,它已经在Fedora默认配置中指定,所以很有可能它也在默认的FreeBSD配置中。对我来说它错过了fontconfig包。
详细信息:http://vault-tec.info/post/98877792626/jenkins-service-unavailable
答案 3 :(得分:0)
在这里面临相同的问题,添加-Djava.awt.headless = true没有帮助。我下载了jenkins.war,并尝试在Windows 7和10上使用java -jar jenkins.war
来运行它,但它不起作用。正在运行Java版本
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
最适合我的解决方案,
1.从系统上卸载所有版本的Java和更新
2.清理临时文件和注册表(我使用过CCLeaner)
3.从Oracle下载最新版本
4.如果此解决方案适合您,请安装并喜欢此评论!
此外,尝试删除.jenkins目录(如果可能)