2015-04-29 26 views
0

我尝试使用maven构建项目。每次我可以不小心收到错误随机“没有编译器提供”错误Maven

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

而且我可以再次运行生成,一切都很好。

JAVA_HOME C:\Program Files\Java\jre1.8.0_40 
M2_HOME C:\Program Files\Maven 

D:\java_projects>mvn -version 
Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T23:58:10+03:00) 
Maven home: C:\Program Files\Maven 
Java version: 1.8.0_40, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jre1.8.0_40 
Default locale: en_US, platform encoding: Cp1251 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos" 
D:\java_projects> 

的pom.xml:

<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.epam</groupId> 
    <artifactId>News</artifactId> 
    <version>0.0.2-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <properties> 
     <jdk.version>1.8</jdk.version> 
     <spring.version>4.1.5.RELEASE</spring.version> 
     <jstl.version>1.2</jstl.version> 
     <junit.version>4.12</junit.version> 
     <tiles.version>3.0.5</tiles.version> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>${jdk.version}</source> 
        <target>${jdk.version}</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${spring.version}</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${spring.version}</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-beans</artifactId> 
      <version>${spring.version}</version> 
      <scope>compile</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.mockito</groupId> 
      <artifactId>mockito-all</artifactId> 
      <version>1.9.5</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.unitils</groupId> 
      <artifactId>unitils-dbunit</artifactId> 
      <version>3.4.2</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.github.springtestdbunit</groupId> 
      <artifactId>spring-test-dbunit</artifactId> 
      <version>1.2.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-jdbc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.oracle</groupId> 
      <artifactId>ojdbc6</artifactId> 
      <version>11.2.0</version> 
      <scope>compile</scope> 
     </dependency> 
    </dependencies> 
</project> 

我有这样的错误使用CMD(MVN封装)和使用Eclipse(Maven构建)的约40%

解决的90%:

下载最新的JDK,更新JAVA_HOME,更新Window->Preferences->Java->Installed JREs

+0

无论如何,你应该尝试使用JDK而不是JRE – Tome

+0

如果你想建立在JRE而不是JDK上,你需要你的pom文件来指定一个编译器。 Eclipse编译器可从Maven Central获得。 –

回答

0

如错误所示,您在jre上运行它,请选择您的jdk路径。

窗口 - >首选项 - > Java的>安装JREs-> jre1.8.0_40

你应该有一个JDK有一个条目。如果没有指向JDK。

然后,

右击项目 - >的Maven - >更新项目

+0

我做了100万次,但它一次又一次地出现错误 –

+0

@VyacheslavTsivina你指出它到'JDK'路径吗? –

+0

谢谢。新的JDK解决了我的问题。这样愚蠢的错误 –

0

安装JDK并设置JAVA-HOME到你的JDK路径。