TestFX与Java 7兼容吗? [英] Is TestFX compatible with Java 7?
问题描述
运行以下代码段(在Eclipse中设置了JDK 7):
Running the following snippet (with JDK 7 set in Eclipse):
import javafx.scene.Scene;
import javafx.stage.Stage;
import org.junit.Test;
import org.testfx.framework.junit.ApplicationTest;
public class BasicTestFxTest extends ApplicationTest
{
@Override
public void start(Stage stage) throws Exception
{
Scene scene = new Scene(null, 800, 600);
stage.setScene(scene);
stage.show();
}
@Test
public void test()
{
System.out.println("This is not a test.");
}
}
导致以下异常:
java.lang.UnsupportedClassVersionError: org/testfx/framework/junit/ApplicationTest:不受支持的major.minor 的java.lang.ClassLoader.defineClass1(Native Method)的版本52.0 java.lang.ClassLoader.defineClass(未知源),网址为 java.security.SecureClassLoader.defineClass(未知源),网址为 java.net.URLClassLoader.defineClass(未知源),网址为 java.net.URLClassLoader.access $ 100(来源未知) java.net.URLClassLoader $ 1.run(未知源) java.net.URLClassLoader $ 1.run(未知源) java.security.AccessController.doPrivileged(本机方法),位于 java.net.URLClassLoader.findClass(未知源),网址为 java.lang.ClassLoader.loadClass(未知源),网址为 sun.misc.Launcher $ AppClassLoader.loadClass(来源未知) java.lang.ClassLoader.loadClass(未知源),网址为 java.lang.ClassLoader.defineClass1(本机方法)位于 java.lang.ClassLoader.defineClass(未知源),网址为 java.security.SecureClassLoader.defineClass(未知源),网址为 java.net.URLClassLoader.defineClass(未知源),网址为 java.net.URLClassLoader.access $ 100(来源未知) java.net.URLClassLoader $ 1.run(未知源) java.net.URLClassLoader $ 1.run(未知源) java.security.AccessController.doPrivileged(本机方法),位于 java.net.URLClassLoader.findClass(未知源),网址为 java.lang.ClassLoader.loadClass(未知源),网址为 sun.misc.Launcher $ AppClassLoader.loadClass(未知源)在 java.lang.ClassLoader.loadClass(未知源),网址为 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
java.lang.UnsupportedClassVersionError: org/testfx/framework/junit/ApplicationTest : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
注意:我正在使用testfx-core和testfx-junit 4.0.1-alpha.
Note: I am using testfx-core and testfx-junit 4.0.1-alpha.
推荐答案
在版本4中已修复( TestFX 4.0.0-alpha-2015年2月27日-#103),但版本4处于Alpha阶段
It is fixed in version 4 (TestFX 4.0.0-alpha — February 27, 2015 - #103) but version 4 is in alpha phase
(修复)服务:修复了与Java 7和JavaFX 2的兼容性.(#103)— 1 提交
(fix) Service: Fix compatibility to Java 7 and JavaFX 2. (#103) — 1 commit
问题: https://github.com/TestFX/TestFX/pull/103
这篇关于TestFX与Java 7兼容吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!