java - 无法找到 Javac 编译器

标签 java maven ubuntu compilation classpath

我尝试mvn install 并收到这条消息:

Compilation failure
Unable to locate the Javac Compiler in:
  /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

嗯,有一个打开的jdk,我也下载了另一个。我试图将 JAVA_HOME 指向两者,现在它已设置:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH

我还尝试选择使用 sudo update-alternatives --config java 打开的那些,但在其中使用不同的 jdk 版本时出现相同的错误。

我该如何解决?提前致谢。

最佳答案

似乎您的 PATH 没有正确获取...“echo $PATH”的输出是否包含 javac 所在的目录? 我建议如下:

打开终端并执行:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export PATH=$PATH:$JAVA_HOME/bin
javac -version
which javac

如果 javac -version 仍然不起作用,请在/usr/local/bin 中创建一个指向您的 javac 二进制文件的符号链接(symbolic link):

cd /usr/local/bin
ln -s /usr/lib/jvm/jdk1.7.0_03/bin/javac javac

这应该让你开始运行...... 另一种方法是尝试通过您的包管理系统设置 java(例如“apt-get install java”或类似的东西)

关于java - 无法找到 Javac 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812668/

相关文章:

java - DefaultHttpClient 在多个请求上保持 Activity 连接

java - 强制 Maven Wagon 插件进行 POST 而不是 PUT

maven - 如何轻松区分两个 Maven pom 文件之间的依赖关系?

java - 使用 Jackson ObjectMapper 的 ClassNotFound 异常

shell - 我用于启动 NGiNX 的 shell 脚本不工作

linux - bash 编程中的双 for 循环

java swing边框,使用2种或多种颜色

java - 获取 NullPointerException

java - 当我手动更改 firebase 数据库中的值时,我在 ListView 中创建更多项目,而不是更新 ListView 中的值

PHP 7 和 phpMyAdmin 的 PHP fatal error