加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:13:51 所属栏目:Java 来源:网络整理
导读:我正在尝试编译一个HelloWorld类作为测试,它显示一个我不知道如何解决的错误.看起来它是关于不兼容版本的东西,但是当我做 java -version和 javac -version时都显示1.8.0_73. 这是我想要编译的内容: String arquivo2 = "/C:/classes/HelloWorld.java";PrintW
我正在尝试编译一个HelloWorld类作为测试,它显示一个我不知道如何解决的错误.看起来它是关于不兼容版本的东西,但是当我做 java -version和 javac -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 FilesJavajre1.8.0_73librt.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”二进制文件可以很好地协同工作.

所以:确保你从一个正确的环境开始;不是你从这里或那里带来的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读