Nexus 3.0.0-03在Ubuntu上启动

时间:2016-05-20 21:03:44

标签: ubuntu x11 nexus sonatype

在Ubuntu 16.04 LTS(没有X)上安装nexus-3.0.0-03之后我出现以下错误:

java.util.NoSuchElementException
    at java.util.LinkedList.removeFirst(LinkedList.java:270)
    at com.exe4j.runtime.util.ArgumentStack.popString(ArgumentStack.java:14)
    at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:37)
java.util.NoSuchElementException
Exception in thread "main" java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
    at java.awt.Button.<init>(Button.java:152)
    at com.exe4j.runtime.util.MessageBox.addChoice(MessageBox.java:151)
    at com.exe4j.runtime.util.MessageBox.addChoice(MessageBox.java:163)
    at com.install4j.runtime.launcher.ErrorHandler.displayGuiErrorMessage(ErrorHandler.java:14)
    at com.install4j.runtime.launcher.ErrorHandler.reportError(ErrorHandler.java:22)
    at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:71)

我用于启动服务的命令是:

/usr/lib/jvm/java-8-oracle/jre/bin/java -server -Dinstall4j.jvmDir=/usr/lib/jvm/java-8-oracle/jre -Dexe4j.moduleName=/opt/nexus/bin/nexus -Dinstall4j.launcherId=245 -Dinstall4j.swt=false -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Xms256M -Xmx768M -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -Djava.net.preferIPv4Stack=true -Dkaraf.home=. -Dkaraf.base=. -Dkaraf.etc=etc -Djava.util.logging.config.file=etc/java.util.logging.properties -Dkaraf.data=data -Dkaraf.instances=data/instances -Djava.io.tmpdir=data/tmp -Dkaraf.startLocalConsole=false -Di4j.vpt=true -classpath /opt/nexus/.install4j/i4jruntime.jar:/opt/nexus/lib/karaf.jar:/opt/nexus/lib/karaf-org.osgi.core.jar:/opt/nexus/lib/karaf-jmx-boot.jar:/opt/nexus/lib/karaf-jaas-boot.jar:/opt/nexus/lib/karaf-nexus-branding.jar com.install4j.runtime.launcher.UnixLauncher run 9d17dc87 org.apache.karaf.main.Main

你可以配置Nexus不使用X11吗?将不胜感激任何建议。

更新

使用以下方式启动Nexus时:

./nexus run

它正确启动,但它不作为服务运行。

1 个答案:

答案 0 :(得分:0)

不需要X11,但是Nexus 3确实使用了install4j作为它的启动器,并且在某些错误情况下,它很可能会尝试弹出一个对话框(这可以从堆栈跟踪中看到)。

检查日志以查看是否有更多信息。同样好奇,从您的描述看起来您可能没有使用bin / nexus脚本?你应该使用它。见这里:http://books.sonatype.com/nexus-book/3.0/reference/install.html#service-linux