1

尝试jpackage用于我的一个项目,但无法正常工作,并因 103 错误代码而崩溃。

命令: jpackage.exe --main-jar evomaster.jar --input core/target/ --type msi

错误:

java.io.IOException: Command [C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe, -nologo, -spdb, -ext, WixUtilExtension, -out, C:\Users\arcur\WORK\code\EvoMaster\Main-1.0.msi, -sice:ICE27, -loc, C:\Users\arcur\AppData\Local\Temp\jdk.jpackage3073169401587857747\config\MsiInstallerStrings_en.wxl, -cultures:en-us, C:\Users\arcur\AppData\Local\Temp\jdk.jpackage3073169401587857747\wixobj\main.wixobj, C:\Users\arcur\AppData\Local\Temp\jdk.jpackage3073169401587857747\wixobj\bundle.wixobj] in C:\Users\arcur\AppData\Local\Temp\jdk.jpackage3073169401587857747\images\win-msi.image\Main exited with 103 code

JVM:openjdk 版本“16” 2021-03-16 OpenJDK 运行环境 AdoptOpenJDK(build 16+36) OpenJDK 64-Bit Server VM AdoptOpenJDK(build 16+36,混合模式,共享)

操作系统名称 Microsoft Windows 10 Pro 版本 10.0.18363 Build 18363

任何线索(我做错了什么)或解决方法(如果有人已经遇到过这个问题)?

更新:

在 Jorn Vernee 的建议下,我light直接运行命令,查看错误消息。它充满了:

C:\Users\arcur\WORK\code\EvoMaster\foo\config\bundle.wxf(14413) : error LGHT0103 : The system cannot find the file 'C:\Users\arcur\WORK\code\EvoMaster\foo\images\win-msi.image\Main\app\classes\org\evomaster\core\search\service\Archive$sortAndShrinkIfNeeded$inlined$thenBy$2.class'.

所有这些错误消息的共同点是它们与inlined类有关。程序是用 编写的Kotlin,Jar 是用maven-assembly-plugin

4

1 回答 1

1

感谢Reddit上的讨论,我找到了一个解决方案:您需要将app.jar文件从target文件夹中取出,并将其放入foo只有该文件的文件夹(例如 )中。然后,将这个新文件夹用于--input命令。

问题的根源似乎light.exe不喜欢太长的文件路径......但是target在处理 uber-jar 时,所有其他文件都是不必要的。

于 2021-05-31T21:59:09.337 回答