如何在 NetBeans 项目生成的 jar 中的清单文件中设置 Main 类

2022-09-02 03:11:40

我有以下问题。我的 NetBeans IDE 6.8 中有一个 Java 项目。当我编译它并生成一个包含所有可能内容的.jar文件时,META-INF是不正确的。它不包含要执行的类 - 使用 main() 方法。

当我单击IDE中的“运行”按钮时,一切正常。项目的设置也以正确的方式设置 - 指向我的项目中的类。

我尝试添加带有清单文件的META-INF文件夹,但我没有管理。

有没有办法在 NetBeans 中手动执行此操作,因为我发现,如果我在清单中添加缺少的 Main 类,一切正常。

(我想我遇到了某种错误...)

编辑:我想要的结果是,我希望使用NetBeans构建创建的jar可以通过命令执行:

引用来自Sun Documentation

在清单文件中设置 Main-Class 后,可以从命令行运行应用程序:java -jar app.jar


答案 1

我将对提出的解决方案和帮助我的解决方案进行总结!

阅读此 bug 报告后:NetBeans 6.8 为 Java 库项目创建 jar 的方式中的 bug。

  1. 在我的项目根目录中创建一个 manifest.mf 文件

  2. 编辑 manifest.mf.我的看起来像这样:

    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.1
    Created-By: 16.3-b01 (Sun Microsystems Inc.)
    Main-Class: com.example.MainClass
    Class-Path: lib/lib1.jar lib/lib2.jar
    
  3. 打开文件 /nbproject/project.properties

  4. 添加行

    manifest.file=manifest.mf

  5. 清理 + 构建项目

现在,.jar已成功构建。

非常感谢 vkraemer


答案 2

看起来您遇到了一个错误,即 NetBeans 6.8 为 Java 库项目创建 jar 的方式

这个问题意味着有一个变通办法。

我无法验证NB 6.8和/或NetBeans 6.9-dev...

您可能需要在 NetBeans.org 网站/问题跟踪器中注册,并更新问题并添加您的“投票”。


推荐