[英]Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project
I had a java project which I reconfigured to a Maven project. 我有一个java项目,我重新配置为Maven项目。 After reconfiguring and adding most of the dependencies required, I get the following error in console when I run mvn install
command. 在重新配置并添加所需的大多数依赖项之后,当我运行mvn install
命令时,我在控制台中收到以下错误。 I tried the solution mentioned here on this issue , but it doesnt help 我在这个问题上尝试了这里提到的解决方案,但它没有帮助
Following are the console logs: 以下是控制台日志:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building FlockHydraAutomation 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ FlockHydraAutomation ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ FlockHydraAutomation ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 15 source files to C:\Maven\FlockHydra-Automation\FlockHydraAutomation\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.249 s
[INFO] Finished at: 2017-09-23T13:44:15+05:30
[INFO] Final Memory: 10M/220M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project FlockHydraAutomation: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
POM File: POM文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.Flock</groupId>
<artifactId>FlockHydraAutomation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>FlockHydraAutomation</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<sourceDirectory>flockWebclient</sourceDirectory>
<resources>
<resource>
<directory>resources</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Attached is the screenshot of the Java Compiler: Java Compiler 附件是Java Compiler: Java Compiler的屏幕截图
Based on your comment on the previous answer looks like you are indeed pointing to a JDK. 根据您对上一个答案的评论,您确实指向了JDK。 So now can you try this, Open Eclipse and goto Windows-> preferences -> Java -> installed JREs, and check if you are pointing to a JRE. 所以现在可以尝试这个,打开Eclipse并转到Windows-> preferences - > Java - >安装JRE,并检查是否指向JRE。 If yes, change the path to your JDK and try to run a Maven build again. 如果是,请更改JDK的路径并尝试再次运行Maven构建。 Hopefully this helps resolve the issue. 希望这有助于解决问题。
You have to make sure, your JAVA_HOME
environment variable points to a JDK (not a JRE), as the error mentions. 您必须确保,您的JAVA_HOME
环境变量指向JDK(而不是JRE),因为错误提到了。
[ERROR] No compiler is provided in this environment. [错误]此环境中未提供编译器。 Perhaps you are running on a JRE rather than a JDK? 也许您运行的是JRE而不是JDK?
Execute mvn -version
. 执行mvn -version
。 The output will show, what directory JAVA_HOME point to. 输出将显示JAVA_HOME指向的目录。 Then make sure, this is a JDK by setting the JAVA_HOME
variable to a JDK path. 然后通过将JAVA_HOME
变量设置为JDK路径来确保这是一个JDK。
I had the same issue, followed the recommendations stated above, but the issued persist. 我有同样的问题,遵循上面提到的建议,但发布仍然存在。
below was my pom.xml 下面是我的pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.4</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk\bin\javac</executable>
</configuration>
<executions>
<execution>
<id>tomcat-run</id>
<goals>
<goal>exec-war-only</goal>
</goals>
<phase>package</phase>
<configuration>
<path>/</path>
<attachartifactclassifier>exec-war</attachartifactclassifier>
<attachartifactclassifiertype>jar</attachartifactclassifiertype>
</configuration>
</execution>
<execution>
<goals>
<goal>spring-boot:run</goal>
</goals>
</plugin>
</plugins>
To fix the issue, do use this pom.xml 要解决此问题,请使用此pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
Attached is the snapshot of my IDE . 附件是我的IDE的快照。
I was having the same error and it turned out to be an issue with the .classpath file for me: 我遇到了同样的错误,结果证明我的.classpath文件存在问题:
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
The attribute pointing to the "/WEB-INF/lib" folder was missing in my case. 我的案例中缺少指向“/ WEB-INF / lib”文件夹的属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.