Java 无法从命令行运行jar文件:“;没有主清单属性”;

Java 无法从命令行运行jar文件:“;没有主清单属性”;,java,eclipse,Java,Eclipse,我正在尝试从控制台运行jar文件: java -jar ScrumTimeCaptureMaintenence.jar 我得到了一个错误: 无法执行jar文件:“无主清单属性” 如您所见,实际上我有一个主文件,它在eclipse中运行良好: 要从命令行成功运行此文件,我需要做什么?首先从eclipse运行应用程序以创建启动配置。 然后只需按照以下步骤操作: 从菜单栏的文件菜单中,选择导出。 展开Java节点并选择Runnable JAR file。单击下一步。 在 可运行JAR文件

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

java -jar ScrumTimeCaptureMaintenence.jar
我得到了一个错误:

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

如您所见,实际上我有一个主文件,它在eclipse中运行良好:


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

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

  • 从菜单栏的文件菜单中,选择导出
  • 展开Java节点并选择Runnable JAR file。单击下一步。
  • 可运行JAR文件规范页面,选择“Java应用程序”启动配置以用于创建 可运行的罐子。
  • 在导出目的地字段中,键入或单击浏览以选择位置 对于JAR文件。
  • 选择适当的库 处理策略。
  • 或者,您还可以创建一个ANT脚本来快速重新生成以前创建的可运行JAR文件。

  • 来源:在Eclipse.org上

    在Eclipse中:
    右键单击项目上的
    导出
    ->
    JAR文件

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

    尝试运行

    java -cp ScrumTimeCaptureMaintenence.jar Main
    
    单击“导出”后,可以选择“可运行JAR文件”

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


    将Java项目导出为可运行的Jar文件,而不是Jar文件

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

    将其导出为可运行的Jar文件后,它将按预期工作。

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

    例如:主类:MyClassName

    第二件事,要在jar中添加清单文件,可以在工作区文件夹中手动创建文件,并在Eclipse项目资源管理器中刷新

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


    干杯

    只有当jar文件是可执行的jar文件时,
    -jar
    选项才起作用,这意味着它必须有一个包含
    Main Class
    属性的清单文件

    如果它不是一个可执行的JAR,那么您需要使用以下内容运行程序:

    java -cp app.jar com.somepackage.SomeClass
    

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

    如果使用Spring boot,则应在
    pom.xml
    中添加此插件:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    
    
    org.springframework.boot
    springbootmaven插件
    
    您需要一个带有
    Main
    条目的
    manifest
    文件。是否有办法在eclipse中生成一个jar导出?如果您导出为jar自动可执行文件,它将为you@DavidTunnell如果您单步执行导出向导,应该有一个选项来指定
    Main
    类。我也有同样的问题-添加清单没有帮助。Runnable jar做到了+1正在寻找这个。谢谢如果您的类名是“Main”,包名是“com.mycompay”,那么该命令将类似于:
    java-cp/the_jar\u file\u path/the_jar\u file.jar com.mycompay.Main
    当我运行此命令时,它会在线程“AWT-EventQueue-0”java.lang.NoClassDefFoundError:path中显示异常,是否有任何原因?