我的POM文件列表

<project>
  <build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.4</version>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
  ...

然而在mvn clean install岁时,我得到了

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] Failure executing javac, but could not parse the error:
javac: invalid target release: 1.7
Usage: javac <options> <source files>

/usr/bin/java -version是(这里which java分)

java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

javac还指向正确的Java版本

/usr/bin/javac -> /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/bin/javac

在这台机器上,我使用zsh(echo $0返回-zsh)

在我的.zshrc篇文章中,我定义了:

 33 # HOME
 34 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
 35 SCALA_HOME=/Library/Scala/current
 36 FORGE_HOME=~/tools/forge/
 37 
 38 # PATH
 39 PATH="/Library/Frameworks/Python.framework/Versions/3.2/bin:${PATH}"
 40 PATH=${PATH}:${JAVA_HOME}/bin
 41 PATH=${PATH}:/bin/
 42 PATH=${PATH}:/sbin/
 43 PATH=${PATH}:/usr/bin/
 44 PATH=${PATH}:/usr/sbin/
 45 PATH=${PATH}:/opt/local/bin/
 46 PATH=${PATH}:/opt/local/sbin/
 47 PATH=${PATH}:/usr/local/git/bin
 48 PATH=${PATH}:/usr/local/git/sbin
 49 PATH=${PATH}:/Applications/Xcode.app/Contents/Developer/usr/bin
 50 PATH=${PATH}:${SCALA_HOME}/bin
 51 PATH=${PATH}:${FORGE_HOME}/bin
 52 
 53 export PATH

当我运行mvn clean install --debug时,我发现实际上我使用的是Java 6

  1 Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
  2 Maven home: /usr/share/maven
  3 Java version: 1.6.0_35, vendor: Apple Inc.
  4 Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

在哪里可以定义?我有我的来源.多次.

推荐答案

判断maven安装中的mvn脚本,看看它是如何构建命令的.也许你或其他人在里面硬编码了一个JAVA_HOME,然后就忘了.

Java相关问答推荐

如何专门保存数据而不显示在jTable中?

具有默认分支的JUnit代码覆盖率切换声明

将linkedHashMap扩展到Java中的POJO类

最小拓Flutter 排序的时间复杂度是多少?

在AnyLogic中增加变量计数

嵌入式ActiveMQ Artemis Web控制台加载错误

将带有js文件的 bootstrap 程序导入maven项目时出错

Helidon 4和Http API

在向WebSphere中的文档添加元素时iText挂起

Java构造函数分支

虚拟线程应该很快消亡吗?

如何在Jooq中获取临时表列引用?

如何在列表(链表)中插入一个新 node (作为prelast)

FETCH类型设置为LAZY,但它仍会发送第二个请求

如果第一位数字和最后一位数字相差超过一位,您将如何获得随机数?

Java中HashSet的搜索时间与TreeSet的搜索时间

Spring Validator批注不起作用

通过/失败的参数化junit测试方法执行数

如果c不为null,Arrays.sort(T[]a,Comparator<;?super T>;c)是否会引发ClassCastException?

MapStruct记录到记录的映射不起作用