如何在本机打包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进行原生包装。
答案 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。