- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
更新:
我发现问题出在 Inno Setup 上。安装程序正在创建,但 Inno Setup 会自动尝试运行需要管理员权限的安装程序。由于未授予这些权限,因此安装程序失败。
如果我将权限授予使用 Inno Setup 准备的任何其他安装程序,则在授予权限几分钟后会创建 native 包。但是,如果我在更长的时间后尝试,它会再次给出错误。
我正在尝试将我的 exe
文件从我的 JavaFX 项目打包到 Eclipse 中。我使用 JDK 1.8.0_25
和 Inno Setup 5 通过 build.xml
Ant 脚本进行创建。
我的代码到达 fx:deploy
部分,我在尝试使用 Inno Setup 创建 exe
文件时遇到此错误。我的 Inno Setup 在系统路径中,当我检查任务管理器时,我看到实际正在使用 Inno Setup。
这是我得到的完整堆栈跟踪:
Using base JDK at: C:\Program Files\Java\jdk1.8.0_25\jre\..\jre
[fx:deploy] java.io.IOException: Exec failed with code 2 command [[C:\Program Files (x86)\Inno Setup 5\iscc.exe, /oE:\Code\Java\ProjectHome\build\deploy\bundles, C:\Users\SHUBHA~1\AppData\Local\Temp\fxbundler7925821782057479088\images\win-exe.image\ProjectHome.iss] in C:\Users\SHUBHA~1\AppData\Local\Temp\fxbundler7925821782057479088\images\win-exe.image
[fx:deploy] at com.oracle.tools.packager.IOUtils.exec(IOUtils.java:165)
[fx:deploy] at com.oracle.tools.packager.IOUtils.exec(IOUtils.java:138)
[fx:deploy] at com.oracle.tools.packager.IOUtils.exec(IOUtils.java:132)
[fx:deploy] at com.oracle.tools.packager.windows.WinExeBundler.buildEXE(WinExeBundler.java:533)
[fx:deploy] at com.oracle.tools.packager.windows.WinExeBundler.bundle(WinExeBundler.java:349)
[fx:deploy] at com.oracle.tools.packager.windows.WinExeBundler.execute(WinExeBundler.java:172)
[fx:deploy] at com.sun.javafx.tools.packager.PackagerLib.generateNativeBundles(PackagerLib.java:511)
[fx:deploy] at com.sun.javafx.tools.packager.PackagerLib.generateDeploymentPackages(PackagerLib.java:476)
[fx:deploy] at com.sun.javafx.tools.ant.DeployFXTask.execute(DeployFXTask.java:265)
[fx:deploy] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[fx:deploy] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
[fx:deploy] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[fx:deploy] at java.lang.reflect.Method.invoke(Method.java:483)
[fx:deploy] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[fx:deploy] at org.apache.tools.ant.Task.perform(Task.java:348)
[fx:deploy] at org.apache.tools.ant.Target.execute(Target.java:435)
[fx:deploy] at org.apache.tools.ant.Target.performTasks(Target.java:456)
[fx:deploy] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
[fx:deploy] at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
[fx:deploy] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[fx:deploy] at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:36)
[fx:deploy] at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
[fx:deploy] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:452)
[fx:deploy] at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:139)
BUILD FAILED
E:\Code\Java\ProjectHome\build\build.xml:173: Error: Bundler "EXE Installer" (exe) failed to produce a bundle.
Total time: 2 minutes 45 seconds
谁能帮忙解决这个问题?
最佳答案
那不是,你要做的是注册ant编译器的类路径。这样做:
1. Open Netbeans and click the Tools link at the top or press Alt-t
2. Click options in the drop down menu from the tools or press Alt-o
3. Click Java on the top bar, it is the Java logo
4. Make sure you are on the ant tab, and your Ant-home has either,
the built in Ant compiler(comes with netbeans, you do not need to set),
or a custom one. On my computer, One virtual Machine says the Netbeans folder,
and my Production Machine says, C:\Ant. Since I downloaded,
and installed ant compiler myself for my production machine, more control! :D
5. Then make sure the Verbosity Level says Normal.
6. Then you will see a classpath box, it may be empty but should not be.
7. For mine, I have a few JDBC connectors for my database integration,
and the ones you need to add, which are your project you are trying
to make the installers for. So for my project it is a timeclock manager,
and I named it TimeClock, but I also use another project as a library in
that project, so I have 3 things total in my Classpath.
您要确保为该项目添加任何包含 main 方法的包,所以我的有 2 个,因为其中一个只是库,所以添加到类路径中。
8. My Classpath looks like this
C:\Program Files (x86)\MySQL\MySQL Connector J\mysql-connector-java-5.1.34-bin.jar
C:\Users\{my user Name}\Documents\NetBeansProjects\TimeClock\src\JFXPrint
C:\Users\{my user Name}\Documents\NetBeansProjects\TimeClock\src\timeclock
9. Yours should look like this, if you only have one project
C:\Users\{你的用户名}\Documents\NetBeansProjects\{你的项目名}\src\{你的包名}
9(mine). My Project name is TimeClock and My package names,
where my main's are located are, JFXPrint and timeclock.
10. YOUR DONE! Click Apply, Click OK, and restart the IDE. Then open it back up
and right click the project and package as->All installers or
whatever you want to do.
我希望这会有所帮助,我在遇到这个问题时用谷歌搜索了这个问题,但没有人知道该怎么做。当我添加我的图标 Logo 时,我终于找到了它。我意识到我的类路径是空的,只为一个项目修复了它,我不知道将类路径设置为所有 NetBeansProject 文件夹是否有效,但我认为这不是一个好方法,全局变量永远不会是!由于我没有看到任何答案,我认为很多人都遇到了这个问题,所以我决定在找到解决方法后发布答案。
祝你好运,编程愉快!
关于java - 使用 Inno Setup native 打包 fx-jar 时出错 [fx :deploy] java. io.IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28071462/
我是 DevOps 的新手。我为刚刚在 Digital Oceans 上创建的 Kubernetes 集群编写了一个 deployment.yaml 文件。创建部署不断出现我现在无法解码的错误。这只是
我需要能够在 Red5 运行时进行部署。我知道的唯一解决方案是使用 WAR 文件并将其放在文件夹中:webapp。 还有其他办法吗? 我使用的是 Red 5 v0.8。我使用 Eclipse 3.4
我收到以下错误: Recycling (Waiting for role to start... Sites are being deployed. [2012-12-17T05:30:10Z]) R
使用 TeamCity 6.5,我试图弄清楚如果可能的话,如何为特定的构建运行设置手动部署。 我希望能够做的是运行已经构建和测试的 TeamCity(仅需要部署工件 - 这不是 Web 应用程序或站点
我看到一个范围为环境的编辑变量权限。但是,似乎谁负责设置项目,谁就会负责创建变量,而其他一些安全实体将只负责修改值,特别是安全值。这可能吗? 编辑:再补充一点,我想我是在根据项目变量集请求权限。只有拥
在我通过命令部署到我的服务器后: bin/dep deploy 在“releases ”文件夹中,我有名为喜欢的文件夹 1 , 2 , 3 , ... 我怎样才能把它改成时间戳,所以在部署命令之后我会
问题: 我有一个手动干预步骤,其中包含执行部署的人员要遵循的文本步骤。 我想传递目标服务器的名称,这样这个人就不需要查找目标服务器名称。 例如,如下所示,我需要将它们解压缩到目标服务器上的某个位置。
这是一个系统 Octopus 部署变量: #{Octopus.Action[Deploy To Server].Output.Package.InstallationDirectoryPath} 文本
我正在尝试在 Octopus Deploy 中设置部署。与许多其他开发人员一样,我通过迭代来做到这一点:调整步骤/脚本/包 -> 单击“部署” -> 检查结果 -> 如果不满意,则重新开始。在 Oct
在使用 Network Deployment 安装 WebSphere Application Server 时,节点是: 物理机 操作系统实例 一组独立于物理机或操作系统实例的逻辑 WAS 实例 最
我知道目前有一个 feature request对于这样的事情,但我希望使用当前版本(1.6)有某种解决方法 我们从 TFS 中的开发分支为我们的开发和测试环境构建,并从 TFS 中的发布分支为我们的
我正在尝试运行由 MSBuild 生成的 ProjectName.deply.cmd 当参数 /p:DeployOnBuild=True通过。参数“ComputerName”之一将作为 https:/
有时首选和/或需要在单个服务器上托管数十个应用程序。不是说这是“对”或“错”,我只是说它发生了。 此配置的缺点是出现错误消息Waiting for the script in task [TASK I
部署准备使用的 erlang 应用程序时我 不要希望用户 在上找到正确的 erl 版本 互联网。 安装 erl vm 解压缩并确定梁文件的位置(与应用程序一起) 阅读自述文件 修改任何看起来像配置文件
使用Next.js创建的app部署到netlify时,出现如下错误,部署失败。 ────────────────────────────────────────────────────────────
我有一个包含两个模块的项目:客户端和服务器。在父 pom.xml 中,我添加了部署阶段的信息,以便部署到本地目录: 4.0.0 org.my myTest 0.1 pom m
我们正在运行 OD 1.6。 我想使用 OD 变量来更改不在应用设置部分中的值,例如 session 状态提供程序。 我知道我可以为此使用转换,但作为一家公司,我们更喜欢使用 OD 变量而不是转换,因
Plesk Obsidian 提供 GIT 部署,我们正在尝试将其配置为类似于我们之前在 CPANEL 上的配置(我们最近从与 CPANEL 的共享帐户升级到与 Plesk 的 VPS - Plesk
我对这个主题进行了大量研究,但找不到任何端到端解决方案来使用 TFS 2010 实现“一次构建并部署多次”。 基本上我在想的是有一个构建定义,它将构建一个解决方案,其中包含多个要部署的项目(Web 应
我已经阅读了关于如何使用 pm2 的几个问题和想法。在 Windows 机器下,不管你信不信,我以前的机器运行得很好......然后我不得不重新格式化它并完全忘记了我以前做过的事情:( 我已经安装了
我是一名优秀的程序员,十分优秀!