2011-12-30 15 views
1

UISpecテストケースをEclipseおよびIntelliJで実行すると、上記のエラーメッセージ(java.lang.UnsatisfiedLinkError)が表示されます。uispec4jテストケース実行時のjava.lang.UnsatisfiedLinkError

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

既知のJavaのように見えます。バグ:6996291

UISpecがLinux上に明示的にロードするsun.awt.motif.MToolkitによって引き起こされているようですが、このツールキットは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で)、この問題は解決されました。

関連する問題