用于动态编译的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”二进制文件可以很好地协同工作. 所以:确保你从一个正确的环境开始;不是你从这里或那里带来的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读