【发布时间】:2012-06-14 04:36:08
【问题描述】:
那么,由于 Netbeans 生成的 jar 需要它也生成的 lib 文件夹,我该如何将 lib 文件夹添加到生成的 jar 并更改 Manifest 以便它在不使用任何命令行的情况下启动?
【问题讨论】:
标签: java user-interface netbeans executable builder
那么,由于 Netbeans 生成的 jar 需要它也生成的 lib 文件夹,我该如何将 lib 文件夹添加到生成的 jar 并更改 Manifest 以便它在不使用任何命令行的情况下启动?
【问题讨论】:
标签: java user-interface netbeans executable builder
..所以它在没有任何命令行使用的情况下启动?
如果它有 GUI,请使用 Java Web Start 启动它。
JWS 提供了许多吸引人的功能,包括但不限于初始屏幕、桌面集成1、文件关联、自动更新(包括延迟下载和更新的编程控制)、按平台、体系结构或 Java 版本划分本地和其他资源下载、运行时环境配置(最低 J2SE 版本、运行时选项、RAM 等)、使用扩展轻松管理公共资源..
【讨论】:
虽然有很多方法可以做到,但大多涉及修改 Ant build.xml。 This 是迄今为止我发现的最好的教程。仅供参考,还有其他非常相似的 SO 问题。
【讨论】:
NetBeans IDE 自动处理所有这些。
这样生成的 .jar 文件将包含所有依赖项并具有带有 Main-Class 集的清单:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: 1.6.0_26-b03 (Sun Microsystems Inc.)
Main-Class: desktopapplication1.DesktopApplication1
Class-Path: lib/appframework-1.0.3.jar lib/swing-worker-1.1.jar
已编辑:这不会将库打包到 .jar 中,而是将它们放在旁边的单独库中。见@user845279
【讨论】:
我最终使用 ninjacave.com/jarsplice 将所有内容(包括库)编译到一个可执行 jar 中。 (即使我将背景颜色设置为不同的颜色,我也收到了一个错误,背景颜色是默认颜色,所以我修改了 jarsplice 用于使用 java 启动程序的代码,而不是 java 的路径)
【讨论】: