【问题标题】:Maven Trying to compile in Linux environment using command line : No compiler is provided in this environmentMaven 尝试使用命令行在 Linux 环境中编译:此环境中未提供编译器
【发布时间】:2017-03-23 03:28:04
【问题描述】:

我正在尝试使用 maven 生成构建,所以从 linux服务器中的mvn clean package命令和报错如下:

No compiler is provided in this environment. Perhaps you are running on a JRE rather than
a JDK?

我搜索并找到了一些解决方案,因此更改了我的 JAVA_HOME 路径等。 以下是我的设置

  • 我的 JAVA_HOME => /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64/jre
  • MVN 版本显示:Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
  • Maven 主页:/home/ec2-user/.sdkman/candidates/maven/current
  • Java 版本:1.7.0_131, vendor: Oracle Corporation
  • Java 主页:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64/jre
  • 操作系统名称:“linux”,版本:“4.4.51-40.58.amzn1.x86_64”,arch:“amd64”,家族:“unix”**

MY POM.XML 文件如下:

【问题讨论】:

  • 是的,已更改并尝试过。仍然得到同样的错误
  • 你需要先安装jdk,你只是运行jre。请使用 sudo apt-get install java 安装 jdk,或者添加 webupd PPA 来安装 Oracle Java
  • 哦,让我试试吧。感谢java新手,这对我来说是个问题

标签: java maven maven-3


【解决方案1】:

我的 JAVA_HOME => /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64/jre

我假设你的意思是设置一个环境变量。我的设置为你上面的目录。我会试试的。

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64

我的设置如下,可能不适合你,但这里是一个例子:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

当我ls 该目录时,我得到以下信息。你应该得到类似的东西。

$ ls /usr/lib/jvm/java-7-openjdk-amd64
ASSEMBLY_EXCEPTION  docs     jre  man      THIRD_PARTY_README
bin                 include  lib  src.zip

【讨论】:

  • 感谢 [~gray] 和 [~satya] 我安装了 JDK,最终它可以工作了。
  • 在 CentOS 6.5 上测试。 sudo yum install java-1.7.0-openjdk.x86_64 仅安装 JRE(javac 将不存在)。 sudo yum install java-1.7.0-openjdk-devel 安装 JDK。来自stackoverflow.com/a/12792019/744478
猜你喜欢
  • 2014-05-08
  • 2019-08-16
  • 2021-11-26
  • 2014-02-01
  • 2015-11-03
  • 2018-08-25
  • 2015-09-21
  • 1970-01-01
相关资源
最近更新 更多