2

我正在尝试学习JavaFX,并且可能会创建一些“学习者”游戏。我总是在 Eclipse 中进行开发,而不是 JavaFX 团队显然试图推动的 NetBeans。

任何人都可以指出如何在 Eclipse 中构建 JavaFX 项目,或者至少在没有NetBeans 的情况下构建 JavaFX 项目的方向吗?到目前为止,我发现的所有东西要么使用 NetBeans,要么它们在 Eclipse 中运行一个单文件项目(witch 不适用于更大的项目)。理想情况下,我正在寻找能够设置一个简单的 Ant 脚本来构建 JavaFX 项目的人,因为我认为这是这种情况的最终结果。

我能够找到下载Eclipse JavaFX 插件的位置。它提供语法高亮支持,以及一些“片段”。我什至可以用它来运行简单的 hello world 类型的 JavaFX 应用程序,但我似乎无法让它自动构建多文件 JavaFX 项目。即使可以,我似乎仍然无法编写正确的 ant 脚本来启动 JavaFX 项目。

另外,我发现这个网站讨论了如何使用 Sun(?)创建的javafxc Ant 任务,但我没有运气尝试使用他们谈论的内容。

谢谢

罗斯

4

5 回答 5

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 。祝你好运!。

于 2009-02-02T07:39:33.757 回答
1

我在有关 JavaFX 的文章中读到有一个可用的 Eclipse 扩展。根据那篇文章,它不像 NetBeans 对 FX 的支持那么成熟,但总比没有好......

于 2009-02-01T00:05:59.117 回答
1

我为构建过程创建了部分 Ant 脚本。我可以说它实际上是在编译 JavaFX 类并将它们组合起来。但是,我我错过了一个 Ant 任务,我在其中创建了Applet中所需的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>

另外,我的“假”小程序......

...
<script src="http://dl.javafx.com/dtfx.js"></script>
<script>
    javafx(
        {
            archive: "RABfx.jar",
            width: 440,
            height: 560,
            code: "TicTacToe.Main",
            name: "TicTacToe"
        }
    );
</script>
...
于 2009-02-03T01:14:36.153 回答
1

在我问了这个问题之后,发布了一个官方的(我认为?)Eclipse 的 JavaFX 插件。转到JavaFX for Eclipse页面。我安装了插件,一切都自动运行了!

于 2009-10-28T02:11:34.630 回答
0

使用前面提到的 JavaFxAntTask 或在 NetBeans 中生成项目并在 Eclipse 中打开它,然后您就可以运行 Ant 目标。或者等待 1.1,它有望提供完整的 Eclipse 和 IDEA 支持。

于 2009-02-02T21:25:29.783 回答