我正在尝试学习JavaFX并且可能会创建一些“学习者”游戏。我总是在Eclipse中进行开发,而不是JavaFX团队明显试图推动的NetBeans。
有人能指出我在Eclipse中构建JavaFX项目的方法,或者至少构建一个没有 NetBeans的JavaFX项目吗?到目前为止我发现的所有东西都使用NetBeans,或者他们在Eclipse中运行一个单文件项目(对于大型项目不会起作用)。理想情况下,我正在寻找一个建立一个简单的Ant脚本来构建一个JavaFX项目的人,因为我认为这是这种情况的最终游戏。
我能够找到下载Eclipse JavaFX plugin的位置。它提供语法突出显示支持,以及一些“片段”。我甚至可以用它来运行简单的hello world类型的JavaFX应用程序,但我似乎无法让它自动构建多文件JavaFX项目。即使我可以,我似乎仍然无法编写正确的ant脚本来破坏JavaFX项目。
另外,我发现this site讨论了如何使用Sun(?)创建的 javafxc Ant任务,但是我没有运气试图使用他们谈论的是什么。
由于
罗斯
答案 0 :(得分:4)
如果在NB中创建新项目,则会有名为nbproject的文件夹。此文件夹包含build-impl.xml
。此文件包含此目标:
<target if="src.dir" name="-compile-fx">
<taskdef classname="com.sun.tools.javafx.ant.JavaFxAntTask" classpath="${platform.bootcp}" name="javafxc"/>
<javafxc bootclasspath="${platform.bootcp}" classpath="${build.classes.dir}:${javac.classpath}" compilerclasspath="${platform.bootcp}" debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${build.classes.dir}" excludes="${excludes}" fork="yes" includeJavaRuntime="false" includeantruntime="false" includes="**/*.fx" source="${javac.source}" sourcepath="" srcdir="${src.dir}" target="${javac.target}">
<compilerarg line="${javac.compilerargs}"/>
</javafxc>
</target>
这是为Eclipse创建ant的良好开端。我不确定Eclipse的构建是如何工作的,但可能存在局限性。 com.sun.tools.javafx.ant.JavaFxAntTask
位于SDK中,而不是编译器jar中。祝你好运!。
答案 1 :(得分:1)
我在关于JavaFX的文章中已经阅读过有一个Eclipse扩展可用。根据那篇文章,它不像NetBeans对FX的支持那么成熟,但应该比没有更好......
答案 2 :(得分:1)
我为构建过程创建了一个部分Ant脚本。我可以说它实际上正在编译JavaFX类并对其进行Jared。但是,我想我错过了一个Ant任务,在那里我创建了小程序中需要的 JNLP 对象,我也缺少了(但设法假装)。
由于我没有明确说明,我没有将其置于工作状态,所以不要指望只是通过做我做的事情到达那里;)
这个Ant脚本就像我一样。为了简洁,我遗漏了除了重要部分之外的一切......
<project name="RABfx" default="all" basedir=".">
...
<property environment="env"/>
<property name="java.home" value="${env.JAVA_HOME}" />
<property name="jfx.home" value="${env.JAVAFX_HOME}" />
<path id="compile.classpath">
<fileset dir="${java.home}/lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${jfx.home}/lib">
<include name="**/*.jar" />
</fileset>
...
</path>
<taskdef classname="com.sun.tools.javafx.ant.JavaFxAntTask" name="javafxc">
<classpath refid="compile.classpath" />
</taskdef>
...
<target name="compile">
<javac srcdir="${src}" destdir="${src.classes}" includes="**/*.java">
<classpath refid="compile.classpath" />
</javac>
<javafxc srcdir="${src}" destdir="${src.classes}" includes="**/*.fx" executable="${jfx.home}/bin/javafxc.exe">
<classpath refid="compile.classpath" />
</javafxc>
...
</target>
<target name="build">
<jar jarfile="${src.jar}">
<fileset dir="${src.classes}" />
</jar>
</target>
...
</project>
另外,我的“伪造”Applet ......
...
<script src="http://dl.javafx.com/dtfx.js"></script>
<script>
javafx(
{
archive: "RABfx.jar",
width: 440,
height: 560,
code: "TicTacToe.Main",
name: "TicTacToe"
}
);
</script>
...
答案 3 :(得分:1)
在我提出这个问题后,发布了一个官方(我认为?)Eclipse的JavaFX插件。转到the JavaFX for Eclipse页面。我安装了插件,一切都自动化了!
答案 4 :(得分:0)
使用之前提到的JavaFxAntTask或在NetBeans中生成项目并在Eclipse中打开它,然后您就可以运行Ant目标。或者等待1.1,希望有完整的Eclipse和IDEA支持。