Continuous integration 与Jenkins的无头连续集成

Continuous integration 与Jenkins的无头连续集成,continuous-integration,jenkins,Continuous Integration,Jenkins,我正在尝试在RackSpace ArchLinux云服务器上设置Jenkins,但一直无法 每当我尝试访问Jenkins站点时,都会出现以下错误: AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"? java.lang.NullPointerException at sun.awt.X11FontMan

我正在尝试在RackSpace ArchLinux云服务器上设置Jenkins,但一直无法

每当我尝试访问Jenkins站点时,都会出现以下错误:

AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"?

java.lang.NullPointerException
    at sun.awt.X11FontManager.getDefaultPlatformFont(X11FontManager.java:779)
    at sun.font.SunFontManager$2.run(SunFontManager.java:428)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.font.SunFontManager.<init>(SunFontManager.java:371)
    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:525)
    at java.lang.Class.newInstance0(Class.java:372)
    at java.lang.Class.newInstance(Class.java:325)
    at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:80)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:71)
    at java.awt.Font.getFont2D(Font.java:489)
    at java.awt.Font.getFamily(Font.java:1186)
    at java.awt.Font.getFamily_NoClientCode(Font.java:1160)
    at java.awt.Font.getFamily(Font.java:1152)
    at java.awt.Font.toString(Font.java:1649)
    at hudson.util.ChartUtil.<clinit>(ChartUtil.java:229)
    at hudson.WebAppMain.contextInitialized(WebAppMain.java:175)
    at winstone.WebAppConfiguration.<init>(WebAppConfiguration.java:897)
    at winstone.HostConfiguration.initWebApp(HostConfiguration.java:131)
    at winstone.HostConfiguration.<init>(HostConfiguration.java:73)
    at winstone.HostGroup.initHost(HostGroup.java:85)
    at winstone.HostGroup.<init>(HostGroup.java:45)
    at winstone.Launcher.<init>(Launcher.java:197)
    at winstone.Launcher.main(Launcher.java:398)
    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:601)
    at Main._main(Main.java:268)
    at Main.main(Main.java:96)
    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:601)
    at org.tanukisoftware.wrapper.WrapperJarApp.run(WrapperJarApp.java:394)
    at java.lang.Thread.run(Thread.java:722)
此服务器上未正确配置AWT。也许您需要使用“-Djava.awt.headless=true”运行容器? java.lang.NullPointerException 位于sun.awt.X11FontManager.getDefaultPlatformFont(X11FontManager.java:779) sun.font.SunFontManager$2.run(SunFontManager.java:428) 位于java.security.AccessController.doPrivileged(本机方法) 位于sun.font.SunFontManager.(SunFontManager.java:371) 位于sun.awt.X11FontManager。(X11FontManager.java:32) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:525) 位于java.lang.Class.newInstance0(Class.java:372) 位于java.lang.Class.newInstance(Class.java:325) 位于sun.font.FontManagerFactory$1.run(FontManagerFactory.java:80) 位于java.security.AccessController.doPrivileged(本机方法) 位于sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:71) 位于java.awt.Font.getFont2D(Font.java:489) 位于java.awt.Font.getFamily(Font.java:1186) 在java.awt.Font.getFamily\u NoClientCode(Font.java:1160) 位于java.awt.Font.getFamily(Font.java:1152) 位于java.awt.Font.toString(Font.java:1649) 在hudson.util.ChartUtil.(ChartUtil.java:229) 在hudson.WebAppMain.contextInitialized(WebAppMain.java:175) WebAppConfiguration.(WebAppConfiguration.java:897) 位于winstone.HostConfiguration.initWebApp(HostConfiguration.java:131) HostConfiguration.(HostConfiguration.java:73) 位于winstone.HostGroup.initHost(HostGroup.java:85) HostGroup.(HostGroup.java:45) 在winstone.Launcher.(Launcher.java:197) 位于winstone.Launcher.main(Launcher.java:398) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:601) 在Main.\u Main(Main.java:268) Main.Main(Main.java:96) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:601) 位于org.tanukisoftware.wrapper.WrapperJarApp.run(WrapperJarApp.java:394) 运行(Thread.java:722) 那么,你认为可能是什么

我已经尝试过设置JAVA_OPTS环境变量,但没有效果。我还尝试使用
-Djava.awt.headless=true执行Java,甚至在conf/wrapper.conf中将其设置为wrapper.app.parameter.3=-headless

你知道我该怎么解决这个问题吗?我对这个很陌生

提前谢谢

信不信由你,这实际上只是安装ttf dejavu字体的问题


我很惭愧…

拥有ArchLinux 64位无头服务器,我已通过以下步骤成功地将jenkins配置为工作:

  • 已安装ttf dejavu软件包
  • 已安装的fontconfig软件包
  • 添加到/etc/conf.d/tomcat7:

    CATALINA_OPTS=“-Djava.awt.headless=true”


  • 安装java-1.6.0-openjdk会产生以下依赖项:

    • fontconfig
    • 利克斯丰
    • 利方腾
    • ttmkfdir
    • xorg-x11-font-utils
    • xorg-x11-fonts-Type1

    安装了这些软件包并重新启动了jenkis之后,一切都按设计进行了。

    在我的fedora 17 64位机器上,我安装了OpenJDK 1.7,我在百胜安装了Jenkins,这与我的问题相同。设置-Djava.awt.headless=true没有帮助

    通过安装dejavu SAN字体最终解决了此问题:

    yum install dejavu-sans-fonts
    

    修复了Linux服务器6.2版(圣地亚哥)上my Archlinux box的问题,您只需指定以下命令

    export CATALINA_OPTS="-DJENKINS_HOME=/opt/itmsetup/apache-tomcat-6.0.37/jenkins -Xmx750m -Djava.awt.headless=true"                           
    

    这解决了我的问题。

    安装
    openjdk-7-jre-headless
    ttf dejavu
    让我在Ubuntu 12.04 LTC(精确版)上有所不同。Java安装的字体设置引用了这些字体,OpenJDK 7包依赖于
    libfontconfig1
    ,因此将实际使用这些字体

    我使用的是来自的Jenkins,默认情况下,您将获得
    openjdk-6-jre-headless
    ,因为
    Jenkins
    包依赖于
    default jre-headless
    ,这反过来又会拉入
    openjdk-6-jre-headless

    您可以使用交换包

    $ aptitude install openjdk-7-jre-headless
    $ aptitude remove default-jre-headless openjdk-6-jre-headless
    

    请参阅有关此主题的详细信息。另外,我也有同样的问题。

    我正在使用MobaXterm作为linux帐户的终端,而对我来说,解决方案就是使用MobaXterm。我必须在设置-->配置下启用X11。

    对我来说,安装字体根本没有帮助。对我来说,它实际上错过了
    fontconfig


    详细信息:

    通过在
    setclasspath.sh
    文件的
    tomcat/bin
    目录中添加
    CATALINA_OPTS=“-Djava.awt.headless=true”
    解决了问题。

    您运行的是Sun的Java还是OpenJDK?不要!!这可能发生在任何人身上!无头错误可能很难理解路由原因!在我的例子中(这里也是Arch Linux),当试图用OpenJDK运行Jenkins时,使用ttf dejavu没有任何帮助。只有在安装Oracle JDK之后,Jenkins才在没有指定错误的情况下启动openjdk@Zab0815,只是好奇,那是什么发行版
    $ aptitude install openjdk-7-jre-headless
    $ aptitude remove default-jre-headless openjdk-6-jre-headless