java.lang.UnsatisfiedLinkError при запуске тестового примера uispec4j - PullRequest
1 голос
/ 30 декабря 2011

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

У меня установлен Sun / oracle 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 ]

2 голосов
/ 30 декабря 2011

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

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

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

1 голос
/ 02 февраля 2012

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

...