当前位置: 首页 > 知识库问答 >
问题:

创建jar文件时,清单文件没有这样的文件或目录,也没有主清单属性

邓高韵
2023-03-14

我试图创建一个名为example.java的简单jar程序,它向用户显示“hello world”,代码如下:

public class Example{
  public static void main(String[] args) {
    System.out.println("Hello World");
  }
}

我的清单文件如下:

Manifest-Version:1.0
Main-Class:C:\training\Java\JAR\s3\Example

运行此命令时:

Java-贾尔HelloWorld.jar

它返回

no main manifest attribute, in HelloWorld.jar

这里的问题是什么?为什么我不能运行JAR文件?我已经找了一些例子,但那些和我不一样。有人愿意帮忙吗?谢谢!

共有1个答案

胡博艺
2023-03-14

main-class:C:\training\Java\jar\s3\示例

main-class标头应为完全限定的类名:

Main-Class: somePackage.Example

如果类在默认包中,则只输入类名(错误做法):

Main-Class: Example

参见:

  • Java·™教程-设置应用程序的入口点

如果您有一个绑定在JAR文件中的应用程序,那么您需要某种方法来指示JAR文件中的哪个类是应用程序的入口点。您可以在清单中使用Main-Class头提供此信息,它具有以下一般形式:

Main-Class: classname

值classname是作为应用程序入口点的类的名称

 类似资料:
  • 我知道有很多像这样的题目,但我没有找到答案我的问题。我已经在IntelliJ中创建了JAR文件,并在项目结构中构建了工件。在Java文件夹中,我有一个包META-INF和manifest.mf: 那么我是否应该将它手动添加到IntelliJ中的JAR中呢? Edit:CrazyCoder给出了一个很好的说明,说明META-INF应该在resourse文件夹中,但是我的IntelliJ默认设置一开始

  • 我已经看了几个不同的线程,没有找到解决方案。我做了一个项目,使用java和Gradle从google sheets检索数据。我已经创建了一个工件,并通过IntelliJ构建了jar文件。当我尝试使用“java-jar filename.jar”通过终端运行jar时,我得到“no main manifest attribute,in filename.jar” My Manifest.mf位于mai

  • 我正在尝试运行这个Java GUI应用程序,但我不确定如何让它运行。该项目位于:https://gitee.com/gangshushu/v7/tree/master/admon_gui/one-jar. 我最初的尝试是: javaone-jar-ant-task-0.97.jar 但我最后犯了一个错误: 在one-jar-ant-task-0.97中没有主清单属性。罐子 做一些搜索周围,未能运行

  • 问题内容: 我正在尝试在文件系统上创建文件,但我不断收到此异常: 我有一个现有目录,并且正在尝试将文件写入该目录。 获取异常: 我对该路径具有写权限,但是未创建文件。 问题答案: 打印完整的文件名或进入调试器。当我对这样的错误感到困惑时,这意味着我的假设和期望与现实不符。确保您可以 看到 路径是什么;它可以帮助您弄清楚哪里出了问题。

  • 我使用Gradle编写了一个小型Java应用程序来构建它。该应用程序来自本教程,包含2个类:HelloWorld(主类)和Greeter。文件包含2个部分(和其他部分,目前不相关): 和 (这是必要的,因为HelloWorld类导入org.joda.time.LocalTime类)。我可以用构建应用程序,并用运行它。一切都好,我得到了结果。然而,当我试图用运行它时,我得到了错误。StackOver

  • 但我需要它是一个可执行的jar。 我做错了什么?能有多难!?