Непрерывная непрерывная интеграция с Дженкинсом - PullRequest
17 голосов
/ 13 ноября 2011

Я пытаюсь настроить Jenkins на облачном сервере RackSpace ArchLinux, но не смог.

Всякий раз, когда я пытаюсь получить доступ к сайту 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)

Итак, как вы думаете, что это может быть?

Я уже пытался установить переменную среды JAVA_OPTS, но безрезультатно. Я также попытался выполнить Java с -Djava.awt.headless=true или даже установить его в conf / wrapper.conf как wrapper.app.parameter.3 = -headless.

Есть идеи, как мне решить эту проблему? Я такой новый в этом ...

Заранее спасибо!

Ответы [ 11 ]

30 голосов
/ 03 ноября 2012

На моей машине Fedora 17 64Bit у меня был установлен OpenJDK 1.7, и я установил Jenkins, у которого была та же проблема. Настройка -Djava.awt.headless = true не помогла.

Наконец-то решили проблему, установив dejavu-sans-fonts:

yum install dejavu-sans-fonts
23 голосов
/ 13 ноября 2011

Наконец-то найдено решение .

Хотите верьте, хотите нет, на самом деле это был всего лишь вопрос установки шрифта ttf-dejavu!

Мне стыдно ...

8 голосов
/ 10 августа 2012

При установке java-1.6.0-openjdk были получены следующие зависимости:

  • fontconfig
  • libXfont
  • libfontenc
  • ttmkfdir
  • xorg-x11-font-utils
  • xorg-x11-fonts-Type1

После установки этих пакетов и перезапуска jenkis , все работало как задумано.

4 голосов
/ 16 февраля 2012

Имея 64-битный сервер ArchLinux без ключей, я успешно настроил jenkins для работы, выполнив следующие действия:

  1. Установленный пакет ttf-dejavu
  2. Установленные пакеты fontconfig
  3. добавлено в /etc/conf.d/tomcat7:

    CATALINA_OPTS = "- Djava.awt.headless = true"

1 голос
/ 01 октября 2014

Для меня установка шрифтов не помогла вообще.Для меня он фактически пропустил пакет fontconfig.

Подробности: http://vault -tec.info / post / 98877792626 / jenkins-service-unavailable

1 голос
/ 06 июля 2014

У меня была такая же проблема.
Я использую MobaXterm в качестве терминала для моей учетной записи linux, и для меня решение было в MobaXterm. Мне пришлось включить X11 в Настройки -> Конфигурации.

1 голос
/ 28 июня 2013
pacman -S ttf-dejavu

исправил это для моей коробки Archlinux

0 голосов
/ 20 февраля 2018

Добавление CATALINA_OPTS="-Djava.awt.headless=true" в setclasspath.sh файл каталога tomcat/bin решило проблему.

0 голосов
/ 21 мая 2014

См. вики-страницу на эту тему. Также ср. PR 538 .

0 голосов
/ 17 февраля 2014

Установка openjdk-7-jre-headless и ttf-dejavu помогла мне в Ubuntu 12.04 LTC (Precise). На шрифты ссылается установка шрифтов установки Java, а пакет OpenJDK 7 зависит от libfontconfig1 и, таким образом, фактически использует шрифты.

Я использую Jenkins из http://pkg.jenkins -ci.org / debian / , и по умолчанию вы получите 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...