我在过去创建的jar文件(xl-importer.jar
)停止加载。 MANIFEST.MF
文件如下:
Manifest-Version: 1.0
Created-By: 1.5.0 (Sun Microsystems Inc.)
Main-Class: class/Client
虽然.jar文件中的文件夹/ class /中有Client
类,但我总是收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: class/Client (wrong name: Client)
但是当我在/ class /文件夹中运行java Client
时,应用程序运行正常。
Jar是几年前使用32位编译器创建的。我的客户不久前搬到了Windows 2003 Server。这是什么原因? Jar文件在此之前加载。
答案 0 :(得分:1)
在java tutorials中,它指定Main-Class指定为:
Main-Class:MyPackage.MyClass
所以可能需要更换" /"用"。"
如果该类位于名为" class"的目录中。他们需要放在课程包中。的"类"是java中的关键字,因此您无法将其用作包名。如果您将文件夹名称更改为其他名称,例如" classes",并添加包语句你的java文件,然后使用"引用该类。"而不是" /"它应该工作。无论如何它确实与我有关:)
清单:
Manifest-Version: 1.0
Created-By: 1.5.0 (Sun Microsystems Inc.)
Main-Class: classes.Client
Client.java:
package classes;
public class Client{
//do code...
}
答案 1 :(得分:1)
这是一个较新的Manifest(java 6)
Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)
Main-Class: MyPackage.MyClass
我的猜测是java 5使用了不同的协议。
尝试更改主类,如上所示。