当前位置: 首页 > 面试题库 >

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

董霖
2023-03-14
问题内容

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

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

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

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

(我想我碰到了某种错误…)

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

从Sun Documentation引用:

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


问题答案:

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

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

  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
  1. 打开文件/nbproject/project.properties

  2. 加线

manifest.file=manifest.mf

  1. 清洁+建设项目

现在,.jar已成功构建。

非常感谢vkraemer



 类似资料:
  • 问题内容: 我有以下问题。我的NetBeans IDE 6.8中有一个Java项目。当我编译它并生成一个包含所有可能的.jar文件时,META- INF是不正确的。它不包含要执行的类-使用main()方法。 当我单击IDE内的“运行”按钮时,一切正常。项目的设置也设置正确的方式-指向我的项目中的类。 我尝试添加带有清单文件的META-INF文件夹,但没有进行管理。 有没有一种方法可以在NetBea

  • 我正在使用一些apache HttpClient jar,所以我把它们放在我的项目的lib目录中,当Netbeans编译项目时,它复制lib并生成一个项目jar到dist目录中,但是当我使用webstart运行项目时,我需要将项目jar和lib复制到Tomcat的根目录中,我想知道Netbeans是否可以生成一个包含lib目录中所有jar的项目jar,这样我就不必将项目jar和lib目录复制到To

  • 问题内容: 我尝试使用Eclipse Maven构建具有依赖项的jar,但是当我执行时 得到了错误:“未找到主要方法” 我的pom.xml看起来像这样: 这只是一个简单的Java代码: 蚀版本:4.5.2 谁能帮我这个?谢谢。 问题答案: 您可以为此目的使用maven-jar-plugin。

  • 在netbeans(windows edition)中,我们可以创建一个新的独立的JFrame表单,作为main类运行。但是在netbeans(linux版)中,我创建了一个新项目,删除了主类文件,然后创建了一个空的JFrame表单(它有公共静态void main(String args[])),但是当我在netbeans中按下run按钮时,我得到了这个错误:java.lang.ClassNotF

  • 问题内容: 当我运行“清理并生成”时,仅在文件夹位于文件的同一文件夹时,才会运行正在创建的文件。 因此,如果我将jar文件移动到桌面并将该文件夹保留在该文件夹中,则jar文件将给我一个例外。 我该如何解决这个问题? 问题答案: 如果将jars复制到源代码目录中,它们将位于您的最终jar中。但是,我不确定这是否会在100%的时间内有效。 java-forum上有一篇很棒的文章,内容如下: 除了少数情

  • 问题内容: 我的Java应用程序使用的库需要在类路径中查找文件(log4j.xml)。我使用netbeans管理我的项目,但是找不到包含lib /文件夹的方法。 Netbeans会在应用程序jar中自动创建一个MANIFEST.MF文件,并还会创建一个名为lib /的文件夹,其中包含所有依赖项。该清单指定了Class-Path属性,该属性将覆盖命令行上提供的任何- cp参数。我可以在netbean