【发布时间】:2015-05-06 13:52:37
【问题描述】:
我真的在为此苦苦挣扎。我一直无法将 Intellij 配置为使用 Javac,无法运行 javadoc。我似乎无法让我的 java 运行时环境稳定并在 Mac OSX 上高效工作。
我创建了最基本的示例,它是一个 hello world 程序,但它仍然从命令行出错。我读到的关于这个错误的所有内容都告诉我“升级编译器”。但我真的不确定问题出在哪里,javac 和 java 都在运行 1.8(现在,在我尝试升级系统 JVM 之后)。
我在调用 javac 时明确设置了路径,检查了版本等。一切都告诉我它是 1.8。
谁能解释一下如何解决这个问题? (无需将我的系统恢复为 1.5 SDK)。
这是基本 hello world 应用程序的输出:
$JAVA_HOME/bin/javac Main.java
Main.java:3: cannot access java.lang.Object
bad class file: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/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 Main {
^
1 error
localhost:mycompany$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
localhost:mycompany$
javac 版本的输出:
javac -version
javac 1.8.0_45
javac: no source files
Usage: javac <options> <source files>
java 版本的输出:
java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
【问题讨论】:
-
你的“javac 输出”实际上是来自
$JAVA_HOME/bin/javac吗? -
是的,它是一样的。
$JAVA_HOME/bin/javac -version javac 1.8.0_45 javac: no source files Usage: javac <options> <source files>