Maven尝试使用命令行在Linux环境中编译:此环境中未提供编译器

时间:2017-03-23 03:28:05

标签: java maven maven-3

我正在尝试使用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 VERSION SHOWS:Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
  • Maven home:/home/ec2-user/.sdkman/candidates/maven/current
  • Java版本:1.7.0_131, vendor: Oracle Corporation
  • Java home:/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”,family:“unix”**

MY POM.XML文件如下: enter image description here

1 个答案:

答案 0 :(得分:2)

  

我的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