gpt4 book ai didi

eclipse - Eclipse 生成的可运行 jar 文件无法执行?

转载 作者:行者123 更新时间:2023-12-04 22:36:52 26 4
gpt4 key购买 nike

我使用 Eclipse 的“Export-->Java-->Runnable Jar File”功能生成了一个非常简单的可运行 jar 文件。我的 HelloWorld 类如下所示:

import javax.swing.JFrame;
public class HWorld extends JFrame {
public static void main(String[] args) {
new HWorld();
}
public HWorld() {
this.setSize(200, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Hello World!");
this.setVisible(true);
}
}

现在,生成 .jar 文件后,它可以从命令行使用命令“java -jar HWorld.jar”正常运行

但是,当我尝试自己执行 jar 时(应该可以),我收到以下错误,我不知道为什么:
E:\Eclipse\workspace>HWorld.jar
Exception in thread "main" java.lang.NoClassDefFoundError: E:\Eclipse\workspace\HWorld/jar
Caused by: java.lang.ClassNotFoundException: E:\Eclipse\workspace\HWorld.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: E:\Eclipse\workspace\HWorld.jar. Program will exit.

我的 list 看起来像这样:
Manifest-Version: 1.0
Rsrc-Class-Path: ./
Class-Path: .
Rsrc-Main-Class: HWorld
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

对我来说,唯一看起来很可疑的是(因为 .jar 不是 .class):
Could not find the main class: E:\Eclipse\workspace\HWorld.jar

寻找想法或想法甚至答案!我试图提供尽可能多的信息,希望得到一个高质量的答案。该线程暗示它应该可以工作,但没有回答我的问题: http://forums.oracle.com/forums/thread.jspa?threadID=2152988 。其他人可以在他们的 Eclipse 中尝试吗?

最佳答案

从这个意义上说, jar 永远不是“可执行的”。这个 jar 的好处是:

java -jar YOURJAR.jar

更新 您提供的回溯很奇怪。看来 Windows 决定继续使用某些版本的 Java 启动您的 jar,但将路径名传递给它来代替类名。我不知道那是什么故事。

关于eclipse - Eclipse 生成的可运行 jar 文件无法执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com