今天把 SCP 系统转移到了 Linux 下面。报表引擎出现了问题:
具体表现是,运行报表引擎程序运行正常,但是 IE 里面显示一下错误:
java.lang.InternalError: Can't connect to X11 window server using 'app:0,0' as the value of the DISPLAY variable.
刷新后出现一下错误:
java.lang.NoClassDefFoundError
开始以为是找不到类的问题(不过居然找不到 Java 的标准类,汗-_-!),修改了 CLASSPATH、JAVA_HOME,解压缩 jar 包,把我认为的可能和这个相关的设置全部修改了一遍,但是问题依旧。
但是注意到最开始报错的是和 X11 相关的的部分,开始考虑从这个地方下手了。首先修改 DISPLAY 的环境变量,失败。
然后查资料得知,java-awt/swing组件需要本地的x-server,但是服务器上都是 SSH 控制,根本没有安装本地的x-server。解决方法如下:
对于 Java 1.4以上,启动java时加上 -Djava.awt.headless=true 的参数。对于 Java 1.4 以前,下载 xvfb 或者其他的虚拟 x-window 软件,再在 Java 运行环境里的 DISPLAY 作相应改变。
对于 Resin,具体的修改办法是,修改 httpd.sh 文件,把其中的 args= 行修改为 args=-Djava.awt.headless=true。
然后重新启动 HTTP 服务器,一切OK~
|
|
November '08 |
|
||||
| Su | Mo | Tu | We | Th | Fr | Sa |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | ||||||
© 2007 nullTao - 净空无道 - Blog | Main site | Contact me | RSS | Back to top
Powered by Serendipity | Design by Andreas Viklund | Serendipity Template by Carl