我正在尝试从 rake 使用 JavaFX 的 ant 任务,但不知道如何处理 xml-namespacing:http ://ant.apache.org/manual/Types/namespace.html
做类似工作的 build.xml 文件看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloWorldApp" default="default" basedir="."
xmlns:fx="javafx:com.sun.javafx.tools.ant">
<path id="fxant">
<filelist>
<file name="${java.home}\..\lib\ant-javafx.jar"/>
<file name="${java.home}\lib\jfxrt.jar"/>
</filelist>
</path>
<target name="default">
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpath="${java.home}\..\lib\ant-javafx.jar"/>
</target>
<target name="package-bundle">
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpath="${java.home}\..\lib\ant-javafx.jar"/>
<fx:deploy nativeBundles="all"
width="100" height="100"
outdir="build/" outfile="HelloWorldApp">
<info title="Hello World App" vendor="Me"
description="Test built from Java executable jar"/>
<fx:application mainClass="org.jruby.JarBootstrapMain"/>
<fx:resources>
<fx:fileset dir="dist">
<include name="HelloWorldApp.jar"/>
</fx:fileset>
</fx:resources>
</fx:deploy>
</target>
</project>
问题出现在诸如“fx:deploy”之类的任务中,当我开始将其转换为 Rakefile 时,我无法走得太远,因为我不知道如何告诉 ant 那个“fx”命名空间。我已经搜索了几天,但我发现的只是 headius 的一篇博客文章,上面写着“自我注意:弄清楚我们是否有类似的东西”(http://headius.blogspot.com /2010/04/using-ivy-with-jruby-15s-ant.html )。在他的例子中,他似乎可以忽略它,但在这种情况下这不起作用。
JavaFX 打包任务提供了一些非常酷的东西,尤其是从 Java 8 开始,包括从任何可执行 jar 为每个平台创建本机安装程序的能力。我认为这可能非常有用。