Jar文件无法加载或查找主类

时间:2016-04-04 15:31:37

标签: java shell jar cmd

我一直试图从Jarfile中运行一个应用程序,但它一直打印出来:

  

"无法找到或加载主类..."。

我尝试使用此thread中的信息解决此问题,但似乎都没用。老实说,由于这是一个微不足道的问题,我感到绝望。

无论如何,我做了什么:

Main-Class: com.test.Test

我的清单属性:

jar cfm test.jar manifest.txt <full_path>/out/com/test/*.class

这是打包到jar文件(Test.class文件)

中的内容

测试类:

package com.test;

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

2 个答案:

答案 0 :(得分:1)

首先,为了防止您使用Eclipse IDE,有一些工具如Fat Jar Plugin能够帮助您打包构建。

其次,有Maven,处理你的依赖关系,并构建你需要的包,一切都好。在您的情况下,我会查找Apache Maven Jar Plugin

最后,老学校的方式与命令行一起去,就像你试图做的那样。 正如Eliott Frisch在您的问题评论中所说,您不需要提供jar cfm test.jar manifest.txt <full_path>/out/内主要类的完整路径。 还有什么,因为manifest.txt已经提供了包信息!

答案 1 :(得分:1)

You should package the class correctly. Do

jar cfm test.jar manifest.txt com/test/*.class

in the parent folder of the folder com. By providing the absolute path (the way you did), the class file is packaged incorrectly.