gpt4 book ai didi

java - 错误: Could not find or load main class concurrency.主测试

转载 作者:行者123 更新时间:2023-12-01 13:40:40 24 4
gpt4 key购买 nike

我在lubuntu 13.04上安装了eclipse kepler和JDK 1.7.45

这里是java版本:

nazar@nazar-desktop:~$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
nazar@nazar-desktop:~$ echo $JAVA_HOME
/opt/java/jdk1.7.0_45

我在 eclipse 中配置:

Window => preferences => java => installed jre => add my jdk

我编写了简单的测试类:

package concurrency;

public class MainTest {

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

但是当我运行时,我看到错误消息:

Error: Could not find or load main class concurrency.MainTest

它甚至没有将此类编译到 src/bin 中。

我尝试自己做

javac MainTest.java => java MainTest

它编译但在运行时抛出:

Exception in thread "main" java.lang.NoClassDefFoundError: MainTest (wrong name: concurrency/MainTest)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

我无法弄清楚它是什么。因为安装的jdk与OS系统兼容。

更新:

该项目来自另一台安装了 java.1.7_40 的计算机。这里我导入了这个项目并继续做。

这是eclipse.ini的内容:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
/opt/java/jdk1.7.0_45/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx1024m
-Dorg.eclipse.swt.browser.IEVersion=10001

有什么建议吗?

  • 如何解决这个问题?

最佳答案

您还没有真正弄清楚您在 Eclipse 中做了什么,但我们可以轻松解决“从命令行编译并运行它”的问题。您正在从错误的目录编译并运行它。从根目录编译它,如下所示:

$ javac concurrency/MainTest.java
$ java concurrency.MainTest

或使用-d指定输出目录:

$ javac -d bin concurrency/MainTest.java
$ java -cp bin concurrency.MainTest

关于java - 错误: Could not find or load main class concurrency.主测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20820306/

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