2012-11-21 50 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需要添加的金属外观和