ant.importBuild 'mac-bundle-ant.xml'
<project name="VocabHunter Packaging" basedir=""
xmlns:fx="javafx:com.sun.javafx.tools.ant">
<property environment="env"/>
<property name="JAVA_HOME" value="${env.JAVA_HOME}"/>
<target name="jfxbundle" description="Build the application 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:application id="VocabHunterId"
name="VocabHunter"
mainClass="io.github.vocabhunter.gui.distribution.PackagedVocabHunter"/>
<fx:resources id="applicationResourcesId">
<fx:fileset dir="${basedir}/build/libs"/>
</fx:resources>
<fx:deploy outdir="${basedir}/build"
nativeBundles="image">
<fx:platform basedir=""/>
<fx:application refId="VocabHunterId"/>
<fx:resources refid="applicationResourcesId"/>
<fx:info title="VocabHunter">
<fx:association description="VocabHunter session"
extension="wordy"
mimetype="application/x-vnd.VocabHunterSession"
icon="${basedir}/icons/mac/VocabHunterSession.icns"/>
</fx:info>
<fx:bundleArgument arg="icon"
value="${basedir}/icons/mac/VocabHunter.icns"/>
</fx:deploy>
</target>
</project>
app.runtime=$APPDIR/PlugIns/Java.runtime
jfxbundle.doLast {
FileTree tree = fileTree(dir: 'build/bundles').include('**/*.cfg')
tree.each {File file ->
String content = file.text.replaceAll('(?m)^app\\.runtime=.*$\n', '')
file.write(content)
}
}
为了完整起见,我使用Oracle JDK 1.8.0_66 for Mac。
这个bug从Java1.8.0Update60开始存在,我已经报告过了,但还不是正式的bug。
问题是内部打包器使用INI-file-format,您可以在这里看到我的发现。
您应该能够将bundle-argument“launcher-cfg-format”的值设置为“prop”(如这里所示)
<fx:bundleArgument arg="launcher-cfg-format" value="prop"/>
我已经和这件事斗争了一天多,在SO和其他地方读了很多帖子,但我仍然有问题。 我需要在一个自包含的JavaFX应用程序包中包含我的应用程序图标。我使用的是JDK1.8.0_45及其包含的JavaFX包。我正在使用Maven构建.exe,除了我不能包含我的图标外,它都运行得很好。 下面是我的pom.xml: 使图标出现在标题栏中的是javapackager部署步骤的参数。这一行告诉inno安装程序使用
按照这里和这里的指示。我使用的是JDK7U9和NetBeans 7.2.1。我所做的是创建相对于我的项目根文件夹的整个路径(C:\users\administrator\desktop\icotest\package\windows\icotest.ico)。我同时尝试了48x48和256x256的大小。下面是我的项目Icotest的树状结构概述: 这就是build.xml的样子:
为缓解 Windows 下路径名过长的 问题, 略微加快一下 require的速度以及隐藏你的源代码,你可以选择把你的应用打包成 asar档案文件,这只需要对你的源代码做一些很小的改动。 大部分用户可以毫不费力地使用这个功能,因为它electron-packager,、electron-forge和electron-builder中都得到了支持,开箱即用。 如果你没有使用这些工具中的任何一个,那么
问题内容: 我看过一些在线演示,其中简要提到了Java 9中的独立应用程序,但是我有一个问题需要解决。 使用新的模块系统,现在只允许包含运行应用程序所需的最少代码量。但是,希望运行该应用程序的系统是否仍然需要JRE,或者该程序的基本模块中可以包含某些内容? 我怀疑是后者,因为下载Java最新版本的页面(此处)仍然显示版本8_151。 TL; DR-使用Java 9,是否可以创建一个自包含的可执行文
我有一个Java8应用程序,它使用JavaFX,主类扩展了JavaFX.application.application。目前,我将它作为一个fat jar交付,它在Oracle Java8上运行良好。 现在我希望它能够在OpenJDK11上运行。为了添加JavaFX,我已经将org.openjfx中的工件添加到类路径中,并将它们包含在fat JAR中。如果我从命令行启动我的jar,我会得到 脏的一