在没有显示的情况下在Ubuntu服务器上部署JavaFX

我正在Netbeans的Mac OS X(10.9.1)上使用jdk1.7.0_51开发 JavaFX应用程序.我可以毫无问题地运行它,在干净的构建后,我也可以从dist /文件夹启动jar.

现在我想在64位Ubuntu 13.04服务器上部署它.我做了很多问题,但最终设置服务器以获得正确的JRE,字体和库.运行jar导致错误比我的代码更深入(将UnsatisfiedLinks转到提到MACOS的本机库)所以我认为最好将我的应用程序打包到Ubuntu本身.我最终安装了NetBeans来创建一个新的(本机)JavaFX项目,并使用sftp从我的机器上传了src /和lib /文件夹.通过NetBeans中的重建项目运行代码工作正常,但在运行期间我在控制台中收到警告:

libGL error: Failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
Prism-ES2 Error : GL_VERSION (major.minor) = 1.4

无论如何,应用程序都会运行.在干净的构建之后,我可以类似地从dist /文件夹运行jar.终端中出现相同的警告但随后应用程序启动.

但是,如果我在没有-X标志的情况下ssh到服务器并尝试运行该应用程序,我会得到以下内容

Failed in XOpendisplay
(java:29341): Gtk-WARNING **: cannot open display:

但是,我的应用程序没有UI.它只是将JavaFX用于WebEngine(这是必需的,不能更改).我想知道是否有人知道是否(如果是这样,如何)可以在没有显示器的情况下启动我的JavaFX jar(只是在服务器上作为守护进程运行).

亲切的问候,
Warkst

编辑:

我试过这里描述的一些东西:Java Can’t connect to X11 window server using ‘localhost:10.0’ as the value of the DISPLAY variable

You need to specify the -Djava.awt.headless=true parameter at startup time.

(假设我正在使用命令java -Djava.awt.headless = true -jar MyApp.jar),这没有产生任何结果(发生相同的错误).

export disPLAY=:0

仍然没有结果,虽然错误显然略有改变,现在读到:

(java:30765): Gtk-WARNING **: cannot open display: :0

最后我还尝试了以下内容

unset disPLAY

这导致了原始错误(显然没有设置disPLAY).

解决方法

我不认为JavaFX 2.x支持在无头模式下运行.我不知道有任何解决方法.

有关详细信息,请参阅JavaFX问题跟踪器功能请求:RT-34241 Use of WebEngine in a headless system,当前计划实施Java 9.

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...