在NetBeans中生成可执行jar
我正在使用NetBeans 6.5,由于某种原因它不会生成“开箱即用”的可执行jar。
我将我的项目设置为主项目,在项目属性“运行”菜单中定义了主类,当我按F6运行它时,它可以完美地工作。
我查看了清单文件,它确实没有在那里定义主类,也省略了库依赖项。
我错过了什么吗? 有没有办法(除了手动更改清单文件)生成可执行的jar文件?
编辑:是的,我尝试了清理和重建,它在dist文件夹中生成了jar,仍然使用相同的manifest.mf
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 10.0-b23 (Sun Microsystems Inc.)
我在NetBeans 7.2.1中遇到了与Maven Java Application项目相同的问题。 修改pom.xml文件以包含maven程序集插件 ,并对myrho的答案进行一次调整(需要引用预定义描述符“jar-with-dependencies”):
maven-assembly-plugin 2.4 jar-with-dependencies your.app.MainClass make-assembly package single
另一种方法是在NetBeans中构建一个不使用Maven的Java Application项目。 选择File – > Project Properties – > Build – > Packaging并选中“Copy Dependent Libraries”复选框。
如果您正在使用maven程序集插件并希望构建具有依赖项的可执行jar,则需要将此部分添加到pom.xml中maven-assembly-plugin部分的配置中:
maven-assembly-plugin your.app.SampleClass
来源: Maven Assembly插件用法
尝试这个:
-
右键单击“项目”面板上的项目,选择“属性”
-
在新窗口中单击“运行”。
-
编辑“Main Class:”字段(单击Browse)。
这样,您将选择主类,它是应用程序的入口点,并且将正确创建Manifest。
很简单,.jar和.jad文件都在dist
文件夹中
我也在寻找答案,并从http://forums.netbeans.org/ptopic3465.html获得了这个答案
解决了 :)
你清理项目并重建了吗? 听起来你做得对。 以下是一些参考资料:
http://www.velocityreviews.com/forums/t141385-how-to-create-executable-jar-in-netbeans-ide.html http://dr.berkeley.edu/REM/wiki/index.php/Making_a_Java_executable_jar_in_Netbeans
如果清理并构建项目,则应在“dist”目录中创建jar。
它应该在项目目录的顶层创建manifest.mf。
在遇到同样的问题之后,我实际上遇到了这个页面,我编辑了manifest.mf文件,但是更改没有显示在jar MANIFEST.MF文件中。 我发现了我遇到的问题,并且认为我会传递信息以防万一它是相关的。
我做错了是因为我没有将我正在进行的项目设置为主要项目,所以当我编辑正确的清单时,我正在编译错误的项目。
所以我想你的故事没有检查,看看你是否为你正在编辑的manifest.mf文件选择了正确的项目?
也许您使用Existing Sources而不是Java Application创建了Java Project ?
我有类似的问题,并创建新的Java应用程序,然后手动复制src文件解决了问题 – 一切工作“开箱即用”。
我有经验,构建过程是不同的,具体取决于项目类型。
我想,你已经创建了“Java类库”项目。
所以只需创建一个“Java Application”项目,然后将所有类合并到它。
然后,Netbeans 不会覆盖,而是将"manifest.mf"
增强到JAR中。
当然,这是一个愚蠢的Netbeans错误。 当然应该可以在之后添加主类。
编辑:请看我的其他答案。 这更容易。
确实很奇怪,它应该开箱即用,包括类路径。
你从以前的版本升级了吗? 升级时,NB会升级项目文件,但有时这种迁移工作不顺利,弹出这种情况。 只需关闭项目,将nbproject目录重命名为nbproject_old并使用现有源执行新项目 – > Java项目。 再次设置主类并添加依赖项,然后重试。
另一种方法完全是在NetBeans中开发,运行unit testing等,然后使用maven或ant脚本来进行“真正的”构建。 看起来这些类型的构建工具可以让您更好地控制构建方式,还可以让您自动构建构建。
对于maven,您可以使用maven jar插件轻松地向清单添加条目:
更好的解决方案:
编辑nbproject / project.properties并添加条目 :
manifest.file=manifest.mf
manifest.mf
应该在项目的根目录中,并且只包含:
Manifest-Version: 1.0 X-COMMENT: Main-Class will be added automatically by build
作品。 测试。
有趣的信息可能在这里:
转到文件视图。 在根目录中创建manifest.mf。
/project_folder build.xml manifest.mf(edit here) /dist /src /test /build
在7.3中,只需启用Properties / Build / Package / Copy Dependent Libraries,主类(取决于所选目标)将在构建时添加到manifest中。
使用NetBeans IDE 8.0.2手动强制创建包 …
- 在Project导航器中,展开< project >并右键单击Project Files / pom.xml
- 单击“运行Maven /目标”
- 在“目标”字段中键入“包”
- 单击确定
然后输出窗口将显示(在Mac上)…
Building jar: /Users//NetBeansProjects//target/ -1.0-SNAPSHOT.jar
使用neatbean,您可以执行以下步骤:1。右键单击名称项目,选择项目设置配置并选择自定义
2.选择运行并注意主类
3.如果要运行,请选择“ 浏览”并设置类。 单击确定后。
4.完成。