2013-10-08 34 views
15

我试图从控制台运行jar文件:未能从命令行中运行jar文件:“无主清单属性”

java -jar ScrumTimeCaptureMaintenence.jar 

而且正在错误:

Can't execute jar- file: “no main manifest attribute”

正如你可以看到我做实际上有一个主文件,它运行良好,从日食:

main method is in class

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

+3

您需要一个带'Main'条目的'manifest'文件。 –

+0

有没有办法在eclipse中生成一个jar导出? –

+3

如果您导出为jar自动执行文件,它将为您创建清单 – RamonBoza

回答

29

尝试运行

java -cp ScrumTimeCaptureMaintenence.jar Main 
+8

这不起作用 – MarcoZen

+3

如果你的类名是“Main”,包的名称是“com.mycompay”,那么命令如下: 'java -cp /the_jar_file_path/the_jar_file.jar com.mycompay.Main' – Henry

+0

当我我正在运行它,它说'线程中的异常“AWT-EventQueue-0”java.lang.NoClassDefFoundError:Path'有没有什么原因? –

4

首先从eclipse运行你的应用程序来创建启动配置。 然后,只需按照步骤:

  1. From the menu bar's File menu, select Export.
  2. Expand the Java node and select Runnable JAR file. Click Next.
  3. In the Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
  4. In the Export destination field, either type or click Browse to select a location for the JAR file.
  5. Select an appropriate library handling strategy.
  6. Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.

来源:Creating a New Runnable JAR File在Eclipse.org

17

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

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

+1

一直在寻找这个。谢谢! – Justin

7

您可以选择“运行的JAR文件”点击“导出”之后。

您可以在 “启动配置”

enter image description here enter image description here

3

导出你的Java项目指定您的主要驱动因素为运行的JAR文件,而不是瓶子。

我出口我的项目作为并且即使清单存在它给我的错误罐中没有主清单属性,即使清单文件存在于罐。但是,现在该清单文件中只有一项,并没有指定主类或函数来执行或依赖JAR的

导出为运行的JAR文件它按预期工作后。

+1

我有同样的问题 - 添加Manifest没有帮助。可运行的罐子。 +1 – Gangnus

2

您需要在Manisfest.mf文件“主类”属性中的Jar

例如:主类:MyClassName

第二件事,在你的jar添加清单文件,您可以手动在工作区文件夹中创建文件,然后在Eclipse Project Explorer中进行刷新。

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

干杯!

6

-jar选项仅适用于JAR文件是可执行JAR文件的情况,这意味着它必须具有清单文件,其中包含Main-Class属性。

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

java -cp app.jar com.somepackage.SomeClass 

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

相关问题