我一直试图从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");
}
}
答案 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.