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

时间:2013-10-08 14:47:14

标签: java eclipse

我正在尝试从控制台运行一个jar文件:

java -jar ScrumTimeCaptureMaintenence.jar

我收到了错误:

  

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

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

main method is in class

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

8 个答案:

答案 0 :(得分:37)

尝试运行

java -cp ScrumTimeCaptureMaintenence.jar Main

答案 1 :(得分:19)

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

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

答案 2 :(得分:12)

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

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

java -cp app.jar com.somepackage.SomeClass

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

答案 3 :(得分:7)

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

您可以在“启动配置”

中指定主驱动程序

enter image description here enter image description here

答案 4 :(得分:5)

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

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

资料来源:Eclipse.org上的Creating a New Runnable JAR File

答案 5 :(得分:4)

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

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

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

答案 6 :(得分:2)

你需要包括"主要课程" Jar中的Manisfest.mf文件中的属性

例如:Main-Class:MyClassName

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

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

干杯!!

答案 7 :(得分:0)

如果您使用的是Spring引导,则应在pom.xml

中添加此插件
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>