我从http://hg.openjdk.java.net/openjfx/8/master/tests/获得并构建了JemmyFX和JemmyFXBrowser,但我无法弄清楚如何启动它。从目录tests/tools/Jemmy
,我首先尝试:
$ java -jar JemmyFXBrowser/dist/JemmyFXBrowser.jar
但这会产生异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jemmy/timing/State
然后我尝试将所有*.jars
添加到类路径中,如下所示:
$ java -cp ./JemmyFX/dist/JemmyFX.jar:./GlassRobot/dist/GlassRobot.jar:./GlassImage/dist/GlassImage.jar:./jemmy_core/JemmySupport.jar:./jemmy_core/JemmyAWTInput.jar:./jemmy_core/JemmyBrowser.jar:./jemmy_core/JemmyCore.jar:./jemmy_core/junit.jar -jar ./JemmyFXBrowser/dist/JemmyFXBrowser.jar
但是这会产生上面提到的同样的例外。所以,我爆炸了JemmyFXBrowser.jar
以发现主类的名称,并尝试了这个:
$ java -cp ./JemmyFX/dist/JemmyFX.jar:./GlassRobot/dist/GlassRobot.jar:./GlassImage/dist/GlassImage.jar:./jemmy_core/JemmySupport.jar:./jemmy_core/JemmyAWTInput.jar:./jemmy_core/JemmyBrowser.jar:./jemmy_core/JemmyCore.jar:./jemmy_core/junit.jar:./JemmyFXBrowser/dist/JemmyFXBrowser.jar org.jemmy.fx.Browser
这导致了几个例外。首先,这一个:
Exception in thread "FX app launch thread" java.lang.ArrayIndexOutOfBoundsException: 0
然后这一遍,一遍又一遍:
java.lang.IllegalStateException: Toolkit not initialized
显然,我在这里遗漏了一些非常基本的东西,但是我无法找到关于这个应用程序应该如何启动的任何文档,而且它没有内置的帮助。
答案 0 :(得分:0)
下一个参数应该是您要测试的应用程序的主类。我们还必须将应用程序*.jar
(或*.jars
)添加到类路径中。
$ java -cp ./JemmyFX/dist/JemmyFX.jar:./GlassRobot/dist/GlassRobot.jar:./GlassImage/dist/GlassImage.jar:./jemmy_core/JemmySupport.jar:./jemmy_core/JemmyAWTInput.jar:./jemmy_core/JemmyBrowser.jar:./jemmy_core/JemmyCore.jar:./jemmy_core/junit.jar:./JemmyFXBrowser/dist/JemmyFXBrowser.jar:./MyApplication.jar org.jemmy.fx.Browser my.MainClass