ORACLE EBS:Can't connect to X11 window server using '**' as the value of the DISPLAY variable.

在ORACLE EBS 12R用XML Publisher 出报表的时候遇到这样一个错误:Exception in thread “main” java.lang.InternalError: Can’t connect to X11 window server using ‘**’ as the value of the DISPLAY variable.

报错明细

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'host_name:0.0' as the value of the DISPLAY variable.
    at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    at sun.awt.X11GraphicsEnvironment.access$100(X11GraphicsEnvironment.java:52)
    at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:155)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
    at sun.font.FontManager.initSGEnv(FontManager.java:1111)
    at sun.font.FontManager.findFont2D(FontManager.java:1773)
    at java.awt.Font.getFont2D(Font.java:452)
    at java.awt.Font.canDisplay(Font.java:1835)
    at java.awt.Font.canDisplayUpTo(Font.java:1901)
    at java.awt.font.TextLayout.singleFont(TextLayout.java:451)
    at java.awt.font.TextLayout.<init>(TextLayout.java:509)
    at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:275)
    at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.<init>(AutoSizeColumnTracker.java:117)
    at org.apache.poi.xssf.streaming.SXSSFSheet.<init>(SXSSFSheet.java:79)
    at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:656)
    at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:648)
    at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:83)
    at com.xxt.ebs.request.Xml2ExcelHandler.newSheet(Xml2ExcelHandler.java:443)
    at com.xxt.ebs.request.Xml2ExcelHandler.startElement(Xml2ExcelHandler.java:97)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1315)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:362)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:308)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:213)
    at oracle.xml.jaxp.JXSAXParser.parse(JXSAXParser.java:292)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:277)
    at com.xxt.ebs.request.CUX_REQUEST_OUTPUT_EXCEL.runProgram(CUX_REQUEST_OUTPUT_EXCEL.java:67)
    at oracle.apps.fnd.cp.request.Run.main(Run.java:157)

问题原因

克隆环境的时候有个这样选项,意思为是否保留显示,当时选择了N
Do you want to preserve the Display ? N
导致DISPLAY变量的值是 host_name:0.0,以致于并发管理器调用java里面的awt工具显示的的时候无法显示。

解决方法

01 配置服务器xhost 和DISPLAY变量

#应用服务器root用户
[root@host_name ~]# export DISPLAY=:0
[root@bak-hesuan ~]# xhost +
access control disabled, clients can connect from any host
[root@host_name  ~]# 
#应用服务器应用用户
[appl@host_name ~]# export DISPLAY=:0
[appl@bak-hesuan ~]# xhost +
access control disabled, clients can connect from any host
[appl@host_name  ~]# 
#配置应用用户下的.bashrc文件将export DISPLAY=:0 写到这个文件中去,然后执行 . .bash_profile 生效

02 修改CONTEXT_FILE文件中的DISPLAY配置项

停掉应用。

先修改数据库中的CONTEXT_FILE 的DISPLAY配置项 为 :0 ,做adcfg。

再修改应用上的CONTEXT_FILE 的DISPLAY配置项 为 :0 ,做adcfg。

启动应用,测试。

03 如果再不行在上面的基础上再做以下操作

#将下面的命令配置的应用的操作系统的环境变量上去
export JAVA_OPTS=-Djava.awt.headless=true
#重启EBS应用,测试。

参考资料

参考mos文章id: 文档 ID 181244.1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贤时间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值