无法从命令行运行jar文件:“no main manifest attribute”

我试图从控制台运行一个jar文件:

java -jar ScrumTimeCaptureMaintenence.jar 

我收到错误:

无法执行jar文件:“没有主要清单属性”

你可以看到我确实有一个主文件,它从eclipse运行良好:

主要方法是在课堂上

从命令行成功运行此文件需要做什么?

试着跑

 java -cp ScrumTimeCaptureMaintenence.jar Main 

在Eclipse中: right-click项目 – > Export – > JAR file

在包含选项的最后一页(当没有Next按钮处于活动状态时),您将看到Main class:设置Main class: 。 你需要在这里使用main方法设置类,默认情况下应该执行该方法(比如双击JAR文件时)。

-jar选项仅在JAR文件是可执行JAR文件时有效,这意味着它必须具有包含Main-Class属性的清单文件。

如果它不是可执行的JAR,那么你需要运行程序,例如:

 java -cp app.jar com.somepackage.SomeClass 

其中com.somepackage.SomeClass是包含运行程序的main方法的类。

单击“导出”后,可以选择“Runnable JAR文件”。

您可以在“启动配置”中指定主驱动程序

在此处输入图像描述在此处输入图像描述

首先从eclipse运行您的应用程序以创建启动配置。 然后按照以下步骤操作:

  1. 从菜单栏的“ 文件”菜单中,选择“ 导出”
  2. 展开Java节点并选择Runnable JAR文件 。 单击下一步
  3. Runnable JAR文件规范页面中,选择用于创建可运行JAR的“Java Application”启动配置。
  4. 在“ 导出目标”字段中,键入或单击“ 浏览”以选择JAR文件的位置。
  5. 选择适当的库处理策略。
  6. 或者,您也可以创建ANT脚本以快速重新生成以前创建的可运行JAR文件。

来源:在Eclipse.org上创建一个新的Runnable JAR文件

将Java Project导出为Runnable Jar文件而不是Jar。

我将我的项目导出为Jar ,即使Manifest存在,它也给了我错误,jar中没有主要的清单属性,即使Jar中存在Manifest文件。 但是,Manifest文件中只有一个条目,它没有指定要执行的Main类或Function或任何依赖JAR的

将其导出为Runnable Jar文件后,它按预期工作。

您需要在Jar中的Manisfest.mf文件中包含“Main class”属性

例如:Main-Class:MyClassName

第二件事,要在jar中添加Manifest文件,您可以在工作区文件夹中手动创建文件,并在Eclipse Project explorer中刷新。

在导出时,Eclipse将创建一个包含清单的Jar。

干杯!!

如果您使用的是Spring引导,则应在pom.xml添加此插件:

    org.springframework.boot spring-boot-maven-plugin