Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven-使用Java 1.7的目标版本1.7无效_Java_Maven - Fatal编程技术网

Maven-使用Java 1.7的目标版本1.7无效

Maven-使用Java 1.7的目标版本1.7无效,java,maven,Java,Maven,一切似乎都是正确的,但就是行不通 $ sudo mvn clean package ... [INFO] Compilation failure Failure executing javac, but could not parse the error: javac: invalid target release: 1.7 版本: $ mvn -v Apache Maven 2.2.1 (r801777; 2009-08-06 20:16:01+0100) Java version: 1.7

一切似乎都是正确的,但就是行不通

$ sudo mvn clean package
...
[INFO] Compilation failure
Failure executing javac, but could not parse the error:
javac: invalid target release: 1.7
版本:

$ mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-06 20:16:01+0100)
Java version: 1.7.0_75
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre

$ java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/
pom.xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
    </configuration>
</plugin>
但我认为这不是问题所在


有什么想法吗?

尝试更新编译器插件。版本
3.3
是最新版本。如果这没有帮助,请尝试使用Maven 3+

您必须设置如下配置:


org.apache.maven.plugins
maven编译器插件
3.3
1.7
1.7

最好是在pluginManagement区域内配置此文件夹。

mvn clean
删除只读的
target
文件夹。
解决方案:使用
sudo
对吗?除了
sudo
不再读取您的变量或路径,而是读取超级用户的变量或路径

sudomvn-v
现在显示Java1.6


非常感谢khmarbaise

答案是正确的。只是想补充一些信息:Java7于2011年7月28日发布。maven编译器插件的2.0.2版发布于2007年2月13日。看到问题了吗?为什么要使用
sudo mvn…
而不是简单的
mvn clean package
?为什么要使用Maven 2.2.1?提示:@khmarbaise mvn需要删除
classes
文件夹。如果我不使用sudo,它会给出一个错误。但这不是问题,但sudo会影响环境,这意味着sudo的使用没有正确设置。。。?除此之外,mvn clean将删除整个
target
文件夹,而不仅仅是
target/classes
…相同的错误,不同的表述方式:
线程“main”中的异常java.lang.UnsupportedClassVersionError:org/apache/maven/cli/MavenCli:Unsupported major.minor version 51.0
,因此它看起来像是用java7编译的
org.apache.maven.MavenCli
,但您想用java6或更低版本运行它。请检查您的
JAVA\u HOME
env变量是什么,以及您是否在项目中的某个地方重写了它。您还可以编辑
mvn
脚本以打印生成项目所执行的命令。”
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home