Java 通过命令提示符运行maven

Java 通过命令提示符运行maven,java,maven,Java,Maven,我通过命令提示符运行maven build,在命令提示符下,我在系统变量中设置M2_HOME变量。但是,当我在命令提示符下运行mvn compile时,会出现以下错误: 此环境中未提供编译器。也许您运行的是jre而不是jdk 但是,当我在eclipse GUI中运行goalmvn compile时,它工作得很好 当我将它添加到我的pom.xml中时,它能够在我的命令提示符下编译,但我需要它工作,而不必将它放在我的pom中 <plugin> <artifactId&g

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

此环境中未提供编译器。也许您运行的是jre而不是jdk

但是,当我在eclipse GUI中运行goal
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>

maven编译器插件
3.1
1.8
1.8
C:\programfi\Java\jdk1.8.0\u 73\bin\javac.exe


这不是一个重复的问题,因为与此类似的其他问题是关于EclipseGUI的,我在这里要求命令提示符

设置jdk路径,并将maven路径设置为主目录中的
.bash\u别名
文件(隐藏文件):-

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系统的其他详细信息

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

环境变量

然后更改或创建名为:JAVA\u HOME的变量,该变量指向JAVA安装,如您所述:C:\programfi\JAVA\jdk1.8.0\u 73

确保你的MAVEN_HOME也是正确的

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


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

尝试指向您在问题中引用的JDK。这是一个很好的答案。请注意,
JAVA\u HOME
环境变量本身不应包含
\bin
目录。此外,要使
javac
在命令行上正确运行,您需要根据将
JAVA\u HOME\bin
添加到
PATH
环境变量。

在命令提示符中键入命令
javac
时会得到什么?确保JDK
bin
目录在您的
路径中。为什么我得到了否决票?@Jesper当我在命令提示符下运行java-version时,它会吐出版本,所以我假设它设置正确。但是
javac
(java编译器),而不是
java
,怎么办呢,请尝试正确设置JAVA_HOME和PATH变量。请参阅这个问题的第三个答案:这很可能没有帮助,因为robben似乎在使用Windows,而这些说明是针对Linux的。