2017-09-23 88 views
1

我有一个java项目,我重新配置为一个Maven项目。在重新配置和添加大部分所需的依赖关系后,当我运行mvn install命令时,在控制台中出现以下错误。我想在这里提到的this issue的解决方案,但它不利于无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.5.1:编译(默认编译)项目

以下是控制台日志:

[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文件:

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

附件是Java编译器的屏幕截图: Java Compiler

+0

看看'mvn -version' anc检查你的java版本和java home。 – nullpointer

+2

首先您使用的是JRE,而不是通过环境变量配置的JDK。此外,您应该遵循Maven中的约定,并且不要像配置sourceDirectory和资源那样更改配置。删除这些部分... – khmarbaise

回答

2

根据您对上一个答案的评论看起来您确实指向了JDK。 所以,现在你可以试试这个,打开Eclipse,并转到Windows->首选项 - > Java - >已安装的JRE,并检查是否指向JRE。如果是,请将路径更改为您的JDK,并尝试再次运行Maven构建。希望这有助于解决问题。

1

你必须确保,您的JAVA_HOME环境变量指向JDK(而不是JRE),如错误提及。

[错误]此环境中未提供编译器。也许你正在使用JRE而不是JDK?

执行mvn -version。输出将显示JAVA_HOME指向的目录。然后确保,通过将JAVA_HOME变量设置为JDK路径,这是一个JDK。

+0

我的JAVA_HOME指向C:\ Program Files \ Java \ jdk1.8.0_121 但是当我做mvn -version它指向JRE Java版本:1.8.0_121,供应商:Oracle Corporation Java home:C:\ Program Files \ Java \ jdk1.8.0_121 \ jre –