我们使用 Solaris 在服务器上运行构建。将 jre 1.6 更改为 jre 1.7 后,运行所有测试的实用程序开始抛出异常(对不起我的英语):
[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 .xml以解决此问题,但这无济于事。
(jvmarg value="-Dswing.defaultlaf=com.jgoodies.looks.plastic.PlasticXPLookAndFeel" )
原因是什么?如何修复?
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel")像这样,您需要通过将驱动程序加载到 UIMangaer.setLookandFeel 来添加金属外观和感觉