gpt4 book ai didi

用于动态编译的 Javac 不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 03:48:27 26 4
gpt4 key购买 nike

我正在尝试编译一个 HelloWorld 类作为测试,它显示了一个我不知道如何解决的错误。似乎是关于版本不兼容的问题,但是当我执行 java -versionjavac -version 时都显示 1.8.0_73。

这是我要编译的内容:

String arquivo2 = "/C:/classes/HelloWorld.java";
PrintWriter saida = new PrintWriter(new FileWriter("logCompilacao.txt"));
int resultadoCompilacao = com.sun.tools.javac.Main.compile(new String[]{arquivo2},saida);

但这是输出:

/C:/classes/HelloWorld.java:2: cannot access java.lang.Object
bad class file: C:\Program Files\Java\jre1.8.0_73\lib\rt.jar(java/lang/Object.class)
class file has wrong version 52.0, should be 49.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
public class HelloWorld {
^
1 error

“类文件有错误的版本 52.0,应该是 49.0”。有人知道如何解决这个问题吗?我尝试了很多,但我没有找到解决方法。

最佳答案

为了能够运行 java 编译器,您从另一侧添加了一些外部内容。

这不是一个好方法。您很可能只安装了 JRE(运行时环境)。

相反,您应该下载并安装 JDK(开发工具包)。后者自带javac;你可以放心,它的“javac”和“java”二进制文件可以很好地协同工作。

因此:确保您从正确的环境开始;不是你从这里或那里收集的东西。

关于用于动态编译的 Javac 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36199272/

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