Netbeans Java(JavaFX)本机打包以及其他文件和文件夹

时间:2015-05-06 09:54:15

标签: java ant javafx inno-setup setup-deployment

如何在本机打包Java应用程序时包含其他文件和文件夹(配置文件)?

构建项目时,我已将构建文件设置为创建目录并将其他文件复制到dist目录。

我的正常构建(没有本机打包)将导致此目录结构:

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <ol><li><li><li><li><li><li><li><li><li><li><li><li><li><li><li></ol>
    </body>
</html>

现在,我想构建我的本机安装程序(安装程序),其中包含与我的应用程序和运行时一起提取的附加文件夹/文件。

基本上,当我的本机安装程序运行时,它将创建这些文件:

-> dist
   -> lib
   -> application.jar
   -> config folder //additional folder
   -> another additional folder //additional folder

我的其他文件和文件夹未包含在我的安装程序中。我想让我的安装程序提取这些额外的文件,最好像这样

-> app
   -> lib
   -> application.jar
   -> package.cfg
-> runtime
   -> jre
-> applcation.exe
-> application.ico
-> unins000.dat
-> unins000.exe

顺便说一下,我正在使用Ant Build工具和Inno进行原生包装。

1 个答案:

答案 0 :(得分:2)

我只使用Wix构建了本机包,所以我的答案基于我从该经验中获得的知识。将目标添加到Ant构建脚本并创建fx:deploy任务。将nativeBundles属性设置为exe。您可以通过将fx:fileset添加到fx:application/fx:resources XPATH来指定其他文件和文件夹。它可能看起来像这样。

<target name="deploy">
  <fx:deploy verbose="true" nativeBundles="exe" ...>
    <fx:application name="${app.title}" mainClass="${main.class}" version="${version}">
      <fx:resources>
        <fx:fileset dir="${base.dir}" includes="config/*.*" />
        <fx:fileset dir="${base.dir}" includes="data/*.*" />
      </fx:resources>
    </fx:application>
  </fx:deploy>
</target>

您可以在fx:resources部分指定更多内容。 Oracle教程中有更详细的信息,特别是Section 6