【问题标题】:Maven project won't compile with Java 8 on OSXMaven 项目无法在 OSX 上使用 Java 8 进行编译
【发布时间】:2014-07-17 01:01:31
【问题描述】:

我有以下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

没有骰子

【问题讨论】:

  • 运行 mvn -version 输出什么?

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


【解决方案1】:

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

【讨论】:

  • 嗯,好吧,让我回家后运行 java -version
【解决方案2】:

适用于 1.7 和 1.8 源/目标。

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

我的 java 和 maven 版本:

mvn -版本 阿帕奇 Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100) Maven 主页:/usr/share/maven Java 版本:1.8.0_05,供应商:甲骨文公司

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2021-06-30
      • 2021-07-23
      • 2020-12-04
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多