所以我试图为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从命令行工作变得非常不安。对这个否定的愚蠢决定的任何见解?
答案 0 :(得分: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应该可以正常工作。