4

我的 Eclipse 用感叹号标记每个新项目。 在此处输入图像描述

我尝试了此处提供的步骤:Unbound classpath container in Eclipse but no cigar。

我能够删除 java 1.7 并添加旧的 1.6 但现在我收到此错误:

java.lang.UnsupportedClassVersionError: klasse : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)

线程“主”中的异常

我几乎迷路了。java对我来说似乎很简单。也许我应该重新安装它?

/编辑:因为有些人不相信我: 在此处输入图像描述

klasse.java 没有问题(其他一些项目有一些我无法打扰的正常错误,并且 CSVAufbereitung 在我按照上述步骤操作之前在 klasse.java 中有错误。

(这就是我首先提出这个问题的原因)

重要提示:我刚刚意识到我在安装 jdk1.7 和 jre1.7 的同时只安装了 jre1.6。

所以当我切换回 1.6 时它不会工作,因为我没有安装 jdk1.6。

傻我。但我想继续使用 1.7

所以主要问题是:为什么 1.7 不再可用(“未绑定”)?

更新:

我发现我可以创建 1.6 项目,并且它们将毫无错误地运行。

如果我用 1.7 创建项目,它们将无法运行。

如果我将这些项目降级到 1.6,它们仍然无法运行。

因为我想使用 1.7,所以这很烦人。

4

4 回答 4

8

Window > Preferences看看Java > Installed JREs,有问题。。。

在此处输入图像描述

当您更改 JRE/JDK 时,您应该执行Project > Clean...强制重建,这应该会有所帮助。

我写的这个“问题”视图

在此处输入图像描述

并检查 Shadark 关于合规级别的建议,1.6 是您想要的。

在此处输入图像描述

还要检查你的项目Java build path

在此处输入图像描述

如果选中“启用项目特定设置”,则还有项目编译器设置,这些设置具有更高的优先级。

在此处输入图像描述

于 2012-05-03T14:42:23.403 回答
3

您应该在构建选项中选择使用 Java 1.6 而不是 1.7 构建项目,因为您没有安装它。希望它有所帮助(我也得到了不受支持的major.minor版本错误)。

于 2012-05-03T14:46:40.117 回答
2

java对我来说似乎很简单。也许我应该重新安装它?

这不太可能是问题/解决方案。

事实上,Eclipse 正在运行这一事实清楚地表明您已经安装了可行的 Java。即 Eclipse 用来运行的那个。

我建议您查看 Eclipse“问题”视图并阅读与标记项目相关的错误消息。这可能是项目或 Eclipse 的工作空间首选项的问题。


您可以尝试的其他操作包括刷新工作区 (F5) 和重新启动 Eclipse。


还要查看“错误”视图和/或 Eclipse 错误日志,看看它是否包含任何可能为您指明正确方向的消息/堆栈跟踪。

于 2012-05-03T14:37:22.843 回答
2

首先,你应该以大写字母开头你的类名:

public class Klasse {

其次,当您右键单击您的项目并转到 Properties,然后转到 Java Build Path,您应该在此处列出您的 Java 库。它是否列为 JRE 系统库?您可以通过单击 Add Library... -> JRE System Library -> Next -> 正确添加它,然后选择工作区默认值或备用 JRE。

您的堆栈跟踪转储看起来好像没有添加到项目中的 JRE。

如果你的问题不能通过这个解决,你可以去窗口 -> 显示视图 -> 问题。有时您可以在那里找到一些附加信息。很可能,您的项目设置有问题。

于 2012-05-03T14:39:15.433 回答