Java 打开JAR文件时出错
我已经从JavaEclipse应用程序中导出了JAR文件,并正确地完成了它的工作。 这是导出时显示的内容: 这个罐子不能正常工作。它返回以下错误: 这是我的主要课程:Java 打开JAR文件时出错,java,eclipse,jar,Java,Eclipse,Jar,我已经从JavaEclipse应用程序中导出了JAR文件,并正确地完成了它的工作。 这是导出时显示的内容: 这个罐子不能正常工作。它返回以下错误: 这是我的主要课程: package testJarFileProject; import javax.swing.JOptionPane; class testJarFileProject { public static void main(String[] args) { // TODO Auto-generated method
package testJarFileProject;
import javax.swing.JOptionPane;
class testJarFileProject {
public static void main(String[] args) {
// TODO Auto-generated method stub
JOptionPane.showOptionDialog(null,
"my application",
"show",
JOptionPane.OK_CANCEL_OPTION,
(Integer) 0,
null,
new String[]{"ok"},
"default");
}
}
有什么问题?导出jar文件是不正确的,但它不会给我一个错误吗?
有什么帮助吗
谢谢你你应该明白当你“打开”你的罐子时会发生什么。我相信你的意思是你双击它 如果我的假设是正确的,您的jar将被“执行”,即执行如下命令行:
java-jaryourjar.jar
在这种情况下到底发生了什么?JVM打开jar并尝试访问文件META-INF/MANIFEST.MF
,该文件应包含以下行:
Main类:com.company.MyClass
JVM提取完全限定的类名,并尝试执行等同于以下内容的操作:
java-cp yourjar.jar.com.company.MyClass
如果在jar中找不到classcom.company.MyClass
,将打印您发送的错误消息
现在你有了所有的工具来发现你的问题。首先,尝试使用java-cp yourjar.jar.com.company.MyClass等命令运行程序。如果错误仍然存在,请检查jar:它没有主类。如果问题消失,请检查您的清单。它包含错误
如果一切正常,请检查编译器和JVM版本的兼容性。可能您使用的编译器版本高于运行程序所使用的JVM版本
祝你好运 你能发一些代码吗?我打赌你没有main方法……jar文件不同于可执行的jar文件。你是试图打开(解包)jar文件,还是试图通过将jar文件放在类路径上并从中调用类来使用它,还是试图使用
java-jar
语法运行它的默认类?如果是后者,您需要明确说明在构建jar时应该使用哪个类作为主类。是java版本导致了这个问题吗?我有META-INF文件夹,所有要求都已完成并正确无误,我在桌面上安装的java版本中是否存在问题?这可能就是问题所在。使用java-version
检查您的java版本。还要检查编译器版本。据我所知,您是使用IDE编译代码的,所以请检查它的首选项。