免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2943 | 回复: 0
打印 上一主题 下一主题

在Soloris下配置iPlanet的Java/JSP图形平台--ZT [复制链接]

论坛徽章:
2
双鱼座
日期:2014-02-23 12:10:03操作系统版块每日发帖之星
日期:2015-12-17 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-10 13:17 |只看该作者 |倒序浏览
一.引子\r\n  当时在工作中碰到这个问题,查了中英文很多资料,解决方法是最后自己摸索出来的,用红色显示于后面。\r\n  我想这个问题应该比较普遍,如果这篇文章对您有用,请 mail 告诉我。\r\n\r\n二.Java 的一个 bug\r\n\r\n  由于 Java 语言本身的一个缺陷,在 Soloris 平台下(在 Windows 平台下没有这个问题,Linux 平台下尚不清楚 )不能够直接引用 2D, 3D的一些系统的图形平台相关包。三.在 Solaris 平台下运行引入图形包的 Java 程序\r\n   \r\n\r\n三.Solaris 下运行引用图形包的Java程序的方法\r\n  看下面一个实例:\r\n[root@isoft /root]# cat test.java\r\npublic class test\r\n{\r\n  public static void main(String[] args)\r\n  {\r\n  java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();\r\n  }\r\n}\r\n\r\n  在 shell 下面,运行下面的命令:\r\n[root@isoft /root]# javac test.java\r\n[root@isoft /root]# java test\r\nException in thread \"main\" java.lang.InternalError: Can’t connect to X11 window\r\nserver using ’:0.0’ as the value of the DISPLAY variable.\r\n        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)\r\n        at <Unloaded Method>;\r\n        at java.lang.Class.forName0(Native Method)\r\n        at java.lang.Class.forName(Class.java:124)\r\n        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi\r\nronment.java:63)\r\n        at test.main(test.java:5)\r\n\r\n这个时候一个解决方法是登陆一个 CDE ,在 CDE 下打开 Console ,查找环境变量 DISPLAY 如下:\r\n  [root@isoft /root]# set |grep DISPLAY\r\n  DISPLAY=10.67.85.7:0.0\r\n\r\n10.67.85.7 表示客户端的 IP,0.0 表示连入的第一个 CDE。\r\n\r\n有了这个 X 的客户端,便可以在连接这个服务器的其他客户端使用这些图形相关包了,使用方式如下,在shell下指定一个 DISPLAY :\r\n[root@isoft /root]# DISPLAY=10.67.85.7:0.0\r\n[root@isoft /root]# export DISPLAY\r\n[root@isoft /root]# java test\r\nFont specified in font.properties not found [-urw-itc zapfdingbats-medium-r-norm\r\nal--*-%d-*-*-p-*-sun-fontspecific]\r\nFont specified in font.properties not found [-urw-itc zapfdingbats-medium-r-norm\r\nal--*-%d-*-*-p-*-sun-fontspecific]\r\nFont specified in font.properties not found [-urw-itc zapfdingbats-medium-r-norm\r\nal--*-%d-*-*-p-*-sun-fontspecific]\r\nFont specified in font.properties not found [-urw-itc zapfdingbats-medium-r-norm\r\nal--*-%d-*-*-p-*-sun-fontspecific]\r\n现在只有字体方面的错误了。\r\n\r\n通过这个描述我们也大致可以理解为什么安装 Oracle 之前先要执行上面的命令。\r\n\r\n四. iPlanet 下的 JSP 页面引用图形包的解决方法\r\n 一般情况下,JSP 使用到图形包的情况比较少见。但某些时候,比如需要使用某些第三方提供的包,\r\n一个 DEMO JSP 文件如下:\r\n  <% java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(); %>;\r\n\r\n  <html>;\r\n  <body>;\r\n  <h1>;Hello, world!</h1>;\r\n  </body>;\r\n  </html>;\r\n\r\n这个时候,会出现页面错误,常见的编译错误如下:\r\n  java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment\r\n  at java.lang.Class.forName0(Native Method)\r\n  at java.lang.Class.forName0(Compiled Code)\r\n  at java.lang.Class.forName(Compiled Code)\r\n  at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:63)\r\n  at TestServlet.service(TestServlet.java:16)Unfortunately, this error message is somewhat misleading. This message does not actually reflect a class loading problem. The error can be avoiding by setting the DISPLAY environment variable in the appropriate configuration file. \r\n\r\n另外一个常见的错误发生在 DISPLAY 被指定但是不能够访问这个 DISPLAY,报错误如下:\r\n\r\n  Can’t connect to X11 window server using ’:0’ as the value of the DISPLAY variable.\r\n  at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)\r\n  at <UNLOADED Method>;\r\n  at java.lang.Class.forName0(Native Method)\r\n  at java.lang.Class.forName(Class.java:124)\r\n  at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:63)\r\n  at TestServlet.service(TestServlet.java:16)\r\n\r\n\r\n以 iPlanet 平台为例,需要修改 /var/opt/SUNWappserver7/domains/domain1/server1/config/server.xml\r\n添加两行:\r\n############################################################\r\n    <jvm-options>;-Djava.awt.headless=true</jvm-options>;\r\n    <jvm-options>;-Dsun.java2d.fontpath=/usr/j2se/jre/lib/fonts</jvm-options>;\r\n############################################################\r\n用 -Djava.awt.headless=true 这种参数来替代 DISPLAY 的指定。注意,这个需要一定版本以上 java 的支持。我所使用的 Soloris 版本的java 版本如下 :\r\n[root@isoft bin]# /usr/j2se/bin/java -version\r\njava version \"1.4.1_03\"\r\nJava(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_03-b02)\r\nJava HotSpot(TM) Client VM (build 1.4.1_03-b02, mixed mode)\r\n\r\n五.参考文章\r\n1)Setting Up Solaris 7, 8, and 9 Operating Environments for Java Servlet Graphics\r\nhttp://developers.sun.com/solaris/articles/solaris_graphics.html#4\r\n\r\n2)图解JSP环境安装配置\r\nhttp://www.enet.com.cn/eschool/inforcenter/A20040329298417.html\r\n\r\n3)X Server Configuration for Image Generation\r\nhttp://download-east.oracle.com/otn_hosted_doc/jdeveloper/904preview/uixhelp/uixdevguide/xserver.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP