当前位置: 首页 > 知识库问答 >
问题:

Java编译错误:Mac

邬英武
2023-03-14

$/library/java/javavirtualmachines/jdk1.7.0_51.jdk/contents/home/bin/javac test.java-verbose-extdirs。-被认可的dirs。-CP。-bootclasspath/library/java/javavirtualmachines/jdk1.7.0_51.jdk/contents/home/jre/lib/rt.jar-version

输出:

javac 1.7.0_51

[源文件的搜索路径:[.]]

[类文件的搜索路径:[/library/java/javavirtualmachines/jdk1.7.0_51.jdk/contents/home/jre/lib/rt.jar,.]]

[正在加载/library/java/javavirtualmachines/jdk1.7.0_51.jdk/contents/home/jre/lib/rt.jar(java/lang/object.class)]

test.java:11:无法访问java.lang.object错误的类文件:/library/java/javavirtualmachines/jdk1.7.0_51.jdk/contents/home/jre/lib/rt.jar(java/lang/object.class)

类文件的版本错误为51.0,应为49.0

请删除或确保它出现在类路径的正确子目录中。公共类测试{^

氟莫塞。

有什么想法吗?

另外,我似乎无法让javac接受1.5/5以上的-target选项:

共有1个答案

吕越彬
2023-03-14

在对发布的许多讨论和修复程序进行了大量研究之后(所有这些都没有起到作用),我使用dtrace查看当命令运行时javac正在访问哪些文件。

在终端中(您需要安装XCode)

sudo dtrace -s /dev/stdin

syscall::open*:entry

{

   printf("%s %s", execname, copyinstr(arg0));

}

<Ctrl-D>

在另一个终端实例中运行命令行,我发现它隐藏在javac的文件访问活动中--考虑到命令行选项,这是相当广泛的--给您的印象是限制了它查找文件的位置--我发现

我不知道我有一个本地分机文件夹.....

删除它的内容修复了问题。

所以,这是一个版本不匹配造成的旧罐子--正如其他人所发现的--在我的案例中,问题是找到它们

 类似资料:
  • 我正在与ATM案例研究一起工作,从Deitel java如何编程第9版。 案例研究在第13章,第546页(万一有人有这本书并想要查看),我确信我的代码是100%如书中所建议的那样。 我已经设置了所有的代码,但当我尝试运行程序时,它给了我以下信息: 当我试图从类路径使用terminal编译类时,它给出了以下错误: 这是正在进行的课程:直截了当地往前走,但我似乎找不到问题所在。有人帮忙吗?

  • 问题内容: 我在Mavericks上运行Eclipse并安装了1.7 JDK时遇到编译问题: 类文件的版本错误为51.0,应为49.0 因此,由于这看起来像javac版本控制问题,因此我删除了所有Java版本。安装了1.7_51,安装了Apple提供的1.6版本,以便运行Eclipse,更改了符号链接,因此默认值为1.7。与以前相同的问题,同一项目无法编译,尽管其他项目可以编译, 下一步,将问题分

  • 当我使用maven编译spark java程序时,我得到了一个编译错误,如下所示

  • 问题内容: 以下代码块在1.8.11中可以正常编译,但在1.8.20中会引发错误 我得到的错误是java:找不到适合过滤器的方法(com.google.common.base.Predicate) 在更新8和20之间是否存在会影响此代码的更改?我在两种情况下都使用相同版本的guava 17.0(最新版本),唯一的变化是Java中的更新版本。 任何帮助是极大的赞赏。 编辑 显示错误的行是 问题答案:

  • 生成失败,错误如下: [ERROR]未能执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:编译(默认编译)上的项目r esPonderhub:编译失败[ERROR] /X:/工作区/响应器HubWorkspace/响应器Hub/src/main/java/uk/org/响应器Hub/MemberServlet.java:[23,110]找

  • 我试图在这里运行一些来自ArcGIS github的示例代码。 当我在IntelliJ Community 2019中导入并尝试运行该项目时,我得到一个错误: 原因:org/openjfx/gradle/javafxplugin已由更新版的Java运行时(类文件版本55.0)编译,此版本的Java运行时仅识别52.0以下的类文件版本 同样的问题--但没有答案。 如何修复此错误?