java - 如何在NetBeans项目产生的jar中的 list 文件中设置Main类

标签 java netbeans manifest

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

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

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

有没有一种方法可以在NetBeans中手动执行此操作,因为我发现,如果在 list 中添加缺少的Main类,则一切正常。

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

//编辑:
我追求的结果是我希望通过NetBeans构建创建的jar可以通过以下命令执行:

引用Sun Documentation:

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

最佳答案

我将对建议的解决方案进行总结,并为我提供帮助!

阅读此错误报告后:
bug in the way NetBeans 6.8 creates the jar for a Java Library Project.

  • 在我的项目根
  • 中创建一个manifest.mf文件
  • 编辑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
    
  • 打开文件/nbproject/project.properties
  • 添加行
    manifest.file=manifest.mf
  • 清理+构建项目

  • 现在,.jar已成功构建。

    非常感谢 vkraemer

    关于java - 如何在NetBeans项目产生的jar中的 list 文件中设置Main类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848642/

    相关文章:

    java - getElementById 为 java 中的 xml 文档返回 null

    java - Android 查询 - 随机 SSLExceptions

    git - 尝试推送到服务器时,netbeans 中出现 REJECTED_NONFASTFORWARD

    java - 随时查找执行地点

    java - 如何将 SVN 修订号添加到 MANIFEST 文件中?

    php - 使用 PHP 脚本从 APK 获取应用程序信息

    java - 升级到 2.2.10 后,CXF Web 服务将无法运行

    android - 在 Netbeans Android 项目 (nandroid) 中包含外部 jar

    azure - 保存 list 失败。错误详细信息 : KeyValueMustBeNull

    java - 太阳.security.validator.ValidatorException : SunCertPathBuilderException -while importing certificate