未找到mac install上的JavaFX

时间:2013-02-16 22:09:40

标签: javafx

所以我试图为javafx运行一个简单的helloworld应用程序,但找不到它的包。那么一定是某种路径问题吧?

我已经从这里下载了联合捆绑版本:

http://www.oracle.com/technetwork/java/javafx/downloads/index.html

您可能希望联合捆绑安装就像安装SE软件包一样。我搜索了网络,人们给windows解答windows路径到mac问题。这真的是IMO的一个java问题,因为要么你像你说的那样共同捆绑并安装两者或将它们分开!

我还没有找到一个合适的解决方案来让javafx包含在编译中,不包括长路径。

编辑: 安装netbeans并创建一个javafx项目后,找到合适的包没有问题。我认为在这一点上应该很明显FX与SE版本捆绑在一起,但是他们(java维护者)已经决定让FX从命令行工作变得非常不安。对这个否定的愚蠢决定的任何见解?

3 个答案:

答案 0 :(得分:4)

一些选择:

  1. 使用JavaFX 8将JavaFX置于默认运行时类路径上。
  2. 使用Oracle JavaFX deployment tools打包您的应用程序,该{{3}}将在您的应用中插入代码以查找JavaFX。
  3. 如果您不能执行上述任何一种操作,请手动将jfxrt.jar的路径添加到您的编译和运行时类路径中。
  4. 对于3,你可以在jre下找到jfxrt.jar:

    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    

    如果安装了jdk7,则可以使用以下命令从命令行运行JavaFX应用程序(使用JavaFX部署工具打包):

    export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
    java -version
    java -jar application.jar
    

    如果它只是安装了JRE7且没有JDK,那么你可以使用:

    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar application.jar
    

答案 1 :(得分:2)

Jewelsea的答案中的每个选项#3,这是它在我的ant构建文件中的样子:

<property name="jfx.dir" value="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib"/>

<path id="project.class.path">
    <pathelement path="${classpath}"/>
    <pathelement location="${jfx.dir}/jfxrt.jar"/>
</path>

<target name="compile"
    description="Compiles the source code.">
    <mkdir dir="${classes.dir}"/>
    <javac includeantruntime="false"
        srcdir="${src.dir}" 
        destdir="${classes.dir}">
        <classpath refid="project.class.path"/>
        <exclude name="**/package-info.java"/>
    </javac>
</target>

答案 2 :(得分:0)

我现在在大学的课堂上使用JavaFX。我只是发现没有JDK版本可以运行JavaFX EXCEPT 10.0.2。卸载所有其他版本并运行10.0.2,JavaFX应该可以正常工作。