eclipse安装好javaFX插件后新建javaFX project报错,javaFX不能import,求解决。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse安装好javaFX插件后新建javaFX project报错,javaFX不能import,求解决。相关的知识,希望对你有一定的参考价值。
代码如下,自动生成的
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
public class Main extends Application
@Override
public void start(Stage primaryStage)
try
BorderPane root = new BorderPane();
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
catch(Exception e)
e.printStackTrace();
public static void main(String[] args)
launch(args);
1.下载最新的jdk
官方下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载 javafx sdk,注意自己的系统 是 32位还是64位,下载需要的版本(注意:JDK与系统的位数必须一样。windows x86是32位;x64是64位)。
2.安装jdk。
(另外,如果你安装的是64位的JDK,因为JDK7里面自带了jre,jre也是64位,但是开发中一般用的是32位的jre,所以最好再下一32位的jre
链接:http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html)
3.安装好jre(32位)后,在安装目录中找到一个jfxrt.jar文件,复制一下。在这里,在你的工程中,最好新建一个的Folder,名字为lib,将jfxxrt.jar粘贴进去。在你需要使用JavaFX的工程名上,
右击,选择properties->Resource->java Build Path->Libraries->add JARs->你的工程->lib->jfxrt.jar,最后确定。
4.这样就可以使用javafx了。
需要从eclipse插件代码访问JavaFX
我试图在eclipse插件的Java 8代码中使用JavaFX包。我能够编译它,但在运行时插件无法加载JavaFX类。看起来,OSGi插件无法从“[JAVA] jre lib ext ”目录加载类,但能够从“[JAVA] jre lib ”加载类。任何指示如何解决问题的人都非常感激。
**我知道有一种方法可以将e(fx)剪切或复制jfxrt.jar复制到插件类路径将解决问题,但我想知道为什么插件无法从/ ext /加载JRE的路径。
如以下链接Unresolved JavaFX packages in OSGi Felix Application中所述,我们执行了以下步骤来解决此问题。以下是OSGi配置属性。
org.osgi.framework.bundle.parent
- 指定用于引导委派的类加载器。可能的值包括:引导类加载器的引导,应用程序类加载器的应用程序,扩展类加载器的ext以及框架的类加载器的框架。默认为启动。
org.osgi.framework.system.packages
- 指定应该从框架类加载器通过System Bundle导出的以逗号分隔的包列表。框架将此设置为合理的默认值。如果指定了值,则它将替换任何默认值。
所以加入
-Dorg.osgi.framework.bundle.parent=ext
-Dorg.osgi.framework.system.packages.extra=javafx.*
VM args,它添加了所需的依赖项。
以上是关于eclipse安装好javaFX插件后新建javaFX project报错,javaFX不能import,求解决。的主要内容,如果未能解决你的问题,请参考以下文章