通过命令提示符

时间:2017-04-27 18:34:43

标签: java maven

我正在通过命令提示符运行我的maven构建,我在系统变量中设置了M2_HOME变量。但是,当我在命令提示符下运行mvn compile时,出现以下错误:

no compiler is provided in this environment. perhaps you are running on a jre rather than a jdk

但是当我在我的eclipse GUI中运行目标mvn compile时,它运行正常。

当我将它添加到我的pom.xml时,它能够在我的命令提示符下编译,但我需要它才能工作,而不必将它放在我的pom中。

<plugin>
     <artifactId>maven-compiler-plugin</artifactId>
     <version>3.1</version>
     <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <executable>C:\programfi\Java\jdk1.8.0_73\bin\javac.exe</executable>
    </configuration>
</plugin>

这不是一个重复的问题,因为其他类似的问题是要求eclipse GUI,我要求命令提示符。

3 个答案:

答案 0 :(得分:1)

设置你的jdk路径,并将maven路径设置为主目录中的.bash_aliases文件(隐藏文件): -

export JAVA_HOME=/home/hadoop/install/jdk1.8.0_92
export PATH=$JAVA_HOME/bin:$PATH


export MAVEN_HOME=/home/hadoop/install/apache-maven-3.3.9
export M2_HOME=/home/hadoop/install/apache-maven-3.3.9

* nix系统和Windows系统的其他详细信息has been published by Oracle

答案 1 :(得分:0)

您应该将Java添加到您的环境变量中。尝试点击Windows,搜索环境变量,然后再次单击按钮

  

环境变量......

然后更改或创建名为JAVA_HOME的变量,指向您的Java安装,如您所述:C:\ programfi \ Java \ jdk1.8.0_73

确保MAVEN_HOME也是正确的。

然后单击“确定”,关闭打开的命令提示符并打开一个新提示符。 尝试执行mvn -v并检查它是否是您指定的Java版本。如果是,它可能适用于CLI,而不仅仅是Eclipse。

值得一提的是,Eclipse并不总是从您的系统指向相同的JDK和Maven。您应该确保命令行界面和Eclipse使用相同的工具。

答案 2 :(得分:0)

尝试setting up your JAVA_HOME environment variable指向您在问题中引用的JDK。 This是如何做到这一点的一个很好的答案。请注意,JAVA_HOME环境变量本身不应包含\bin目录。此外,要使javac在命令行上正常运行,您需要根据this answerJAVA_HOME\bin添加到PATH环境变量。