Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven试图使用命令行在Linux环境中编译:此环境中未提供编译器_Java_Maven_Maven 3 - Fatal编程技术网

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

Java Maven试图使用命令行在Linux环境中编译:此环境中未提供编译器,java,maven,maven-3,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_主页路径等。 下面是我的设置 我的JAVA_主页=>/usr/lib/jvm/JAVA-1.7.0-openjdk-1.7.0.

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

No compiler is provided in this environment. Perhaps you are running on a JRE rather than
a JDK?
我搜索并找到了一些解决方案,因此改变了我的JAVA_主页路径等。 下面是我的设置

  • 我的JAVA_主页=>
    /usr/lib/jvm/JAVA-1.7.0-openjdk-1.7.0.131.x86_64/jre
  • MVN版本显示:
    ApacheMaven 3.3.9(bb52d8502b132ec0a5a3f4c09453c07478323dc5;2015-11-10T16:41:47+00:00)
  • Maven主页:
    /home/ec2 user/.sdkman/candidates/Maven/current
  • Java版本:
    1.7.0\u 131,供应商: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”**
我的POM.XML文件如下所示:

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

是的,改变了,尝试了。仍然得到相同的错误您需要首先安装jdk,您只是在运行jre。请使用sudo-apt-get-install-java安装jdk,或者添加webupd-PPA来安装Oracle-Javaoh让我试试这种方法。感谢java,这就是我的问题。是的,我改变并尝试了。仍然得到相同的错误您需要首先安装jdk,您只是在运行jre。请使用sudo-apt-get-install-java安装jdk,或者添加webupd-PPA来安装Oracle-Javaoh让我试试这种方法。多亏了java,这就是meThanks[~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。感谢[~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。从…起