使用NetBeans打包EXE文件时遇执行错误求助
NetBeans打包生成EXE失败(错误代码2)解决方案
我使用NetBeans进行项目开发,尝试打包生成EXE文件时出现错误,已查阅相关解决方案但均无效,错误信息如下:
java.io.IOException: Exec failed with code 2 command [[C:\Program Files (x86)\Inno Setup 6\iscc.exe, /oC:\Users\kenny\Documents\NetBeansProjects\MyRebarsProject\dist\bundles, C:\Users\kenny\AppData\Local\Temp\fxbundler2533082479821554529\images\win-exe.image\MyRebarsProject.iss] in C:\Users\kenny\AppData\Local\Temp\fxbundler2533082479821554529\images\win-exe.image at com.oracle.tools.packager.IOUtils.exec(IOUtils.java:165) at com.oracle.tools.packager.IOUtils.exec(IOUtils.java:138) at com.oracle.tools.packager.IOUtils.exec(IOUtils.java:132) at com.oracle.tools.packager.windows.WinExeBundler.buildEXE(WinExeBundler.java:697) at com.oracle.tools.packager.windows.WinExeBundler.bundle(WinExeBundler.java:366) at com.oracle.tools.packager.windows.WinExeBundler.execute(WinExeBundler.java:173) at com.sun.javafx.tools.packager.PackagerLib.generateNativeBundles(PackagerLib.java:352) at com.sun.javafx.tools.packager.PackagerLib.generateDeploymentPackages(PackagerLib.java:319) at com.sun.javafx.tools.ant.DeployFXTask.execute(DeployFXTask.java:286) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at jdk.nashorn.internal.scripts.Script$75$\^eval_.:program(<eval>:225) at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:637) at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494) at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393) at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:449) at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:406) at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:402) at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264) at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tools.ant.util.ReflectUtil.invoke(ReflectUtil.java:109) at org.apache.tools.ant.util.ReflectWrapper.invoke(ReflectWrapper.java:81) at org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:103) at org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67) at org.apache.tools.ant.taskdefs.optional.Script.execute(Script.java:53) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293) at sun.reflect.GeneratedMethodAccessor248.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:435) at org.apache.tools.ant.Target.performTasks(Target.java:456) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405) at org.apache.tools.ant.Project.executeTarget(Project.java:1376) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1260) at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:286) at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:555) at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153) C:\Users\kenny\Documents\NetBeansProjects\MyRebarsProject\nbproject\build-native.xml:736: Error: Bundler "EXE Installer" (exe) failed to produce a bundle. BUILD FAILED (total time: 3 seconds)
解决方法
- 以管理员身份运行NetBeans:右键NetBeans图标选择「以管理员身份运行」,重新执行打包操作。iscc.exe写入输出目录时可能需要系统权限。
- 检查Inno Setup版本:确保安装的Inno Setup 6是最新稳定版,部分旧版本与Java打包工具存在兼容性问题,必要时卸载重装最新版。
- 清理临时文件并验证路径:
- 删除临时目录
C:\Users\kenny\AppData\Local\Temp\fxbundler2533082479821554529,清理后重新打包 - 手动确认输出路径
C:\Users\kenny\Documents\NetBeansProjects\MyRebarsProject\dist\bundles存在且可写入,若不存在则手动创建
- 删除临时目录
- 手动执行Inno Setup编译命令:打开命令提示符,运行以下命令查看具体错误:
控制台会输出更详细的错误原因,比如ISS脚本语法错误、依赖文件缺失等。"C:\Program Files (x86)\Inno Setup 6\iscc.exe" "C:\Users\kenny\AppData\Local\Temp\fxbundler2533082479821554529\images\win-exe.image\MyRebarsProject.iss" - 验证项目JDK配置:确保NetBeans项目的编译JDK版本与打包工具使用的JDK版本一致,避免版本不兼容导致打包失败。
内容的提问来源于stack exchange,提问作者Kenny
相关产品推荐
相关产品推荐

