2012-11-21 51 views
1

我們使用solaris在服務器上運行構建。 JRE改變1.6到1.7的JRE之後,運行所有測試的效用開始拋出一個異常(對不起我的英文):默認laf不加載

[java] Exception in thread "main" java.lang.Error: Cannot load javax.swing.plaf.metal.MetalLookAndFeel 
[java]  at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1347) 
[java]  at javax.swing.UIManager.initialize(UIManager.java:1455) 
[java]  at javax.swing.UIManager.maybeInitialize(UIManager.java:1422) 
[java]  at javax.swing.UIManager.getDefaults(UIManager.java:656) 
[java]  at javax.swing.UIManager.put(UIManager.java:985) 
[java]  at org.uispec4j.interception.ui.UISpecLF.init(UISpecLF.java:11) 
[java]  at org.uispec4j.UISpec4J.init(UISpec4J.java:32) 
[java]  at org.uispec4j.UISpecTestCase.<clinit>(UISpecTestCase.java:31) 
[java]  at java.lang.Class.forName0(Native Method) 
[java]  at java.lang.Class.forName(Class.java:186) 

我也嘗試切換另一個LAF在build.xml文件來解決這個問題,但它不沒有幫助。

(jvmarg值= 「 - Dswing.defaultlaf = com.jgoodies.looks.plastic.PlasticXPLookAndFeel」)

的原因是什麼?如何修復它?

+2

我認爲,通過加載驅動程序的UIMangaer.setLookandFeel感覺對於任何L&F默認或自定義(JDK_7除外)都不存在任何問題,以便在發佈[SSCCE](http://sscce.org/)後立即獲得更好的幫助,可能很重要也許不是,爲什麼從JVM初始化L&F參數,在讀取任何內容之前[修改外觀和感覺](http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/index.html)默認對大多數自定義L&F也有效 – mKorbel

+0

+1 to mKorbel 。你試圖找到一個程序化的解決方案,或者只是在jar運行時將參數傳遞給jvm的解決方案? –

+0

我必須通過哪些論據?我只是試圖改變拉夫來避免這種異常,但它沒有奏效。在UISpecClass(UISpecTestCase)中引入了excpetion,所以我不能在那裏找到任何東西。它與jre1.6 –

回答

0

UIManager.setLookAndFeel(「com.sun.java.swing.plaf.motif.MotifLookAndFeel」) 喜歡這個u需要添加的金屬外觀和