2011-12-30 3 views
1

Я получаю вышеуказанное сообщение об ошибке (java.lang.UnsatisfiedLinkError) при запуске тестового примера UISpec в Eclipse, а также IntelliJ.java.lang.UnsatisfiedLinkError при запуске тестового примера uispec4j

У меня есть солнце/оракул JDK 1.7 установлен.

Полный отчет ошибки

> Exception in thread "main" java.lang.UnsatisfiedLinkError: 
> sun.awt.motif.MToolkit.init(Ljava/lang/String;)V at 
> sun.awt.motif.MToolkit.init(Native Method) at 
> sun.awt.motif.MToolkit.<init>(MToolkit.java:146) at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
>  at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
>  at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
>  at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
>  at java.lang.Class.newInstance0(Class.java:372)  at 
> java.lang.Class.newInstance(Class.java:325)  at 
> org.uispec4j.interception.toolkit.UISpecToolkit.buildUnderlyingToolkit(UISpecToolkit.java:128) 
>  at 
> org.uispec4j.interception.toolkit.UISpecToolkit.setUp(UISpecToolkit.java:39) 
>  at 
> org.uispec4j.interception.toolkit.UISpecToolkit.<init>(UISpecToolkit.java:24) 
>  at org.uispec4j.UISpec4J.initToolkit(UISpec4J.java:39) at 
> org.uispec4j.UISpec4J.init(UISpec4J.java:31) at 
> org.uispec4j.UISpecTestCase.<clinit>(UISpecTestCase.java:31) at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
>  at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
>  at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
>  at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
>  at junit.framework.TestSuite.createTest(TestSuite.java:131)  at 
> junit.framework.TestSuite.addTestMethod(TestSuite.java:114)  at 
> junit.framework.TestSuite.<init>(TestSuite.java:75)  at 
> com.intellij.junit3.TestRunnerUtil.createClassOrMethodSuite(TestRunnerUtil.java:140) 
>  at 
> com.intellij.junit3.TestRunnerUtil.getTestSuite(TestRunnerUtil.java:79) 
>  at 
> com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs(JUnit3IdeaTestRunner.java:50) 
>  at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) 
>  at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) 
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
>  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
>  at java.lang.reflect.Method.invoke(Method.java:601)  at 
> com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 
> 
> Process finished with exit code 1 

Если кто-то испытал тот же вопрос, пожалуйста, помогите мне.

ответ

2

Похож на известную ошибку Java: 6996291.

Проблема, кажется, не быть вызвано UISpec явной загрузки sun.awt.motif.MToolkit на Linux, в то время как этот инструментарий больше не доступен в JDK 1.7. Посмотрите, есть ли способ отключить его в конфигурации UISpec или сообщить об этом разработчикам.

В качестве обходного решения вы можете использовать Oracle JDK 1.6.0.

+0

Спасибо, чувак. Я это проверю. – Athiruban

+0

Вы действительно правы. Проблема была связана с отсутствием набора инструментов в JDK 1.7. Но когда я запустил> javap sun.awt.Motif.MToolkit, он показал объявление класса. Поэтому я думал, что класс доступен в JDK1.7. Кроме того, я сообщил об этой проблеме команде разработчиков UISpec. Еще раз, большое спасибо. – Athiruban

1

У меня была точно такая же проблема, но с использованием openjdk (под Linux Mint). Исправлена ​​проблема с openjdk и установкой sun-java6-jdk (с Linux-Software-Manager).

Смежные вопросы