【发布时间】:2019-02-11 21:20:09
【问题描述】:
我有一个应用程序,我需要它是一个独立的应用程序,可安装在可能没有 Java 的计算机上。我正在使用javapackager 命令创建一个可以发送给用户的 EXE,其中包含所需的所有部分。简单来说,该应用程序读取第一个参数引用的文件,对其进行转换,然后在源文件旁边写回结果。当直接将其作为 JAR 运行时,以及通过构建的 EXE 运行时,所有这些都有效。
问题是当触发可执行文件时,它立即将执行返回到命令提示符,而不是等待进程完成。我不想轮询输出目录以检查文件是否存在,然后在何时停止查找时给出一些任意超时 - 我希望应用程序知道一旦控制台命令完成,处理就完成了。那时我可以根据我是否找到结果文件来做逻辑,如果没有找到或者其他任何逻辑是正确的,就会发出警报。
有没有办法告诉javapackager 命令在返回控制权之前设置一个等待,直到 Java 死亡(好或坏)?除此之外,是否有代码 sn-p/concept 可以使应用程序推迟将控制权释放回终端,直到 JVM 死亡?
【问题讨论】:
-
您使用的是什么 jdk 和打包程序版本?你能发布你在构建过程中使用的打包命令吗?
-
@SebastianS
javapackager -deploy -native -Bruntime="C:\Program Files\Java\jdk1.8.0_201\jre" -outdir packaged -outfile app -srcdir . -srcfiles target/app-0.0.1-SNAPSHOT.jar -appclass org.springframework.boot.loader.JarLauncher -name 'DocNormalizer' -title 'SelfContained'
标签: java javapackager