首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用linux守护进程启动Java时的java无头异常

使用linux守护进程启动Java时的java无头异常
EN

Stack Overflow用户
提问于 2013-05-15 15:37:24
回答 3查看 5K关注 0票数 1

我有一个linux守护进程,它为在系统上登录的每个用户启动一个java实例。

我使用下面的命令为每个用户启动java应用程序:

代码语言:javascript
复制
cd /home/user/java_path/ && sudo -u user /opt/jdk1.7.0_17/java -jar software.jar &

java应用程序监视文件夹,并在创建新文档时打开验证框架。每个java应用程序只读取用户文件(通过名称模式)。当试图打开一个框架时,但是我得到了这个错误(在日志中):

没有设置X11显示变量,但是这个程序执行了一个需要它的操作。 java.awt.HeadlessException:...

当我在常规命令行(终端)中执行java应用程序时,这很好。

我还看到了导出变量,使用导出-p命令和显示变量对所有登录的用户都是正常的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-04 16:52:04

密码起作用了。为了解决这个问题,我需要导出java变量,然后按照如下顺序启动java应用程序: cd路径&导出DISPLAY=:0.0 &导出USERNAME=用户& sudo -u用户javapath/java -jar app.jar >/dev/null 2>&1

票数 2
EN

Stack Overflow用户

发布于 2013-05-15 15:39:54

有些java类依赖于有显示设备,如果您没有任何(没有X服务器的运行),它们就会失败,从而导致所得到的错误。使用以下参数运行java:

代码语言:javascript
复制
-Djava.awt.headless=true

更多信息在这里:http://www.oracle.com/technetwork/articles/javase/headless-136834.html

票数 2
EN

Stack Overflow用户

发布于 2013-05-15 15:41:47

使用System.setProperty("java.awt.headless", "true");-Djava.awt.headless=true JVM arg

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16569364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档