Joh*_*Doe 12 java ubuntu compilation classpath maven
我试着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.
Run Code Online (Sandbox Code Playgroud)
好吧,有一个开放的jdk,我也下载了另一个.我试图将JAVA_HOME指向两者,现在它已设置:
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
Run Code Online (Sandbox Code Playgroud)
我也尝试选择其中一个打开sudo update-alternatives --config java但在其中使用不同的jdk版本得到相同的错误.
我该如何解决这个问题?提前致谢.
Kor*_*gen 18
看起来你的PATH没有正确拾取..."echo $ PATH"的输出是否包含javac所在的目录?我建议遵循:
打开终端并做一个:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export PATH=$PATH:$JAVA_HOME/bin
javac -version
which javac
Run Code Online (Sandbox Code Playgroud)
如果javac -version仍无效,请在/ usr/local/bin中创建指向javac二进制文件的符号链接:
cd /usr/local/bin
ln -s /usr/lib/jvm/jdk1.7.0_03/bin/javac javac
Run Code Online (Sandbox Code Playgroud)
这应该让你运行...另一种方法是尝试通过你的包管理系统设置java(例如"apt-get install java"或者类似的东西)
当我从 Jenkins 运行 Maven 构建时,我在 ubuntu 机器上遇到了类似的错误。如果“javac -version”的输出提示以下消息:
“程序‘javac’可以在以下包中找到:default-jdk ecj gcj-5-jdk openjdk-8-jdk-headless gcj-4.8-jdk gcj-4.9-jdk openjdk-9-jdk-headless 尝试: apt安装 ”
然后你可以使用以下命令安装“openjdk-8-jdk-headless”:
这解决了我的问题,maven 构建顺利进行。
| 归档时间: |
|
| 查看次数: |
46861 次 |
| 最近记录: |