Maven项目不能在OSX上使用Java 8进行编译

时间:2014-05-28 00:02:20

标签: spring-mvc maven-3 java-8

我有以下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/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.github.spring-mvc-archetypes</groupId>
        <artifactId>spring-mvc-quickstart</artifactId>
        <version>1.0.0-SNAPSHOT</version>
  <packaging>maven-archetype</packaging>
        <name>Spring MVC Maven Archetype: Quickstart</name>
  <description>Archetype for creating Spring MVC 4 web application</description>
        <url>https://github.com/kolorobot/spring-mvc-quickstart-archetype</url>
        <properties>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>

  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.archetype</groupId>
        <artifactId>archetype-packaging</artifactId>
        <version>2.2</version>
      </extension>
    </extensions>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-archetype-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

以下......

javac -version
javac 1.8.0_05

但是当我运行mvn install时,我得到了......

[INFO] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project basic: Compilation failure
[INFO] Failure executing javac, but could not parse the error:
[INFO] javac: invalid target release: 1.7

任何人都知道我错过了什么?

更新

我找到了需要更新的vi src / main / resources / archetype-resources / pom.xml。现在我明白了......

Caused by: java.lang.IllegalArgumentException: invalid target release: 1.8

我也尝试过这个......

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

没有骰子

3 个答案:

答案 0 :(得分:2)

您确定使用的是JDK 1.8吗?当您使用旧版本的Java并尝试使用java 8进行编译时,会出现此问题。 你可能安装了两个版本的java,当你运行maven时,旧的版本正在被使用。尝试打印正在使用的JAVA_HOME。

答案 1 :(得分:1)

适用于1.7和1.8源/目标。

请使用-X选项运行maven,以便获得更多信息。

我的java和maven版本:

  

mvn -version   Apache Maven 3.0.4(r1232337; 2012-01-17 09:44:56 + 0100)   Maven主页:/ usr / share / maven   Java版本:1.8.0_05,供应商:Oracle Corporation

答案 2 :(得分:1)

问题在于糟糕的OSX糟糕的Java设置。 This帮了很多忙,setjdk 1.8.0_05完成了工作,谢谢你们!