Java
64 位 SLES11 機器無法在 Citrix 中執行 java 圖形應用程序
我們有許多具有不同配置的實驗室機器。當我們的一位使用者嘗試執行 java 應用程序(例如 jconsole)時,它似乎已啟動,但不會顯示轉發,也不會顯示任何視窗。在這些情況下,它將失敗:
- 在伺服器上安裝 64 位 Suse SLES11
- 客戶端通過 Citrix 訪問伺服器
- 該應用程序是一個java應用程序
更改其中任何一個,它都可以工作。64 位 SLES10 機器工作,32 位 SLES11 機器工作,用 cygwin/linux 訪問 64 位 SLES11 機器工作,執行除 java 應用程序以外的其他應用程序工作。
SuSE 從 SLES10 到 SLES11 是否有一些變化可能會影響 Citrix 中的顯示轉發?
有時,經過不同的時間後,它會因以下堆棧跟踪而崩潰:
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment 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.awt.X11.XToolkit.<clinit>(XToolkit.java:89) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at java.awt.Toolkit$2.run(Toolkit.java:834) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826) at sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(SwingUtilities2.java:128) at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:1556) at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:130) at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1591) at javax.swing.UIManager.setLookAndFeel(UIManager.java:542) at javax.swing.UIManager.setLookAndFeel(UIManager.java:582) at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1344) at javax.swing.UIManager.initialize(UIManager.java:1433) at javax.swing.UIManager.maybeInitialize(UIManager.java:1421) at javax.swing.UIManager.getLookAndFeel(UIManager.java:495) at sun.tools.jconsole.JConsole.updateLafValues(JConsole.java:63) at sun.tools.jconsole.JConsole.<clinit>(JConsole.java:58) Could not find the main class: sun.tools.jconsole.JConsole. Program will exit.
更新:仍然有同樣的問題,當更改為不同的圖形庫時,它似乎改變了問題:
export JAVA_HOME=/usr/java/default export PJA=$HOME/lib/pja.jar jconsole -J-Xbootclasspath:$JAVA_HOME/jre/lib/rt.jar:$PJA -J-Dawt.toolkit=com.eteks.awt.PJAToolkit -version
這會產生它以前沒有的版本。該程序仍然無法執行。
現在終於解決了,所以我會把這個答案留給遇到同樣問題的其他人,因為它非常不尋常。Citrix 承認這是他們的產品存在的問題,並已針對此問題發布了更新檔程序。
Citrix 的服務請求編號為 60235154,更新檔將包含在 2011 Q1 Feature Pack v3 中。