我见过类似的问题,但还没有找到答案.
使用maven编译,我得到:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
这是pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
Javac版本:
javac 1.7.0_25
Run Code Online (Sandbox Code Playgroud)
Java版本:
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
知道它可能是什么?
我是Maven和IntelliJ IDEA的新手.
我有一个用Java 8编写的Maven项目.每当我尝试构建它时(Maven Projects窗口 - >生命周期 - >编译 - >运行Maven Build)我得到一系列编译错误:
[ERROR] path/to/file.java:[26,52] lambda expressions are not supported in -source 1.5
(use -source 8 or higher to enable lambda expressions)
Run Code Online (Sandbox Code Playgroud)
我应该在哪里更改-source参数的值?我尝试在Settings - > Compiler - > Java Compiler中添加它作为附加参数,但我得到了相同的结果.
项目和模块的语言级别都设置为8.0.
我正在使用Maven 3.2.3和IntelliJ IDEA Community Edition 13.1.2.
我似乎无法让Maven使用Java 1.8.使用1.8作为目标会出现以下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project csaro: Fatal error compiling: invalid target
release: 1.8 -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
错误的原因很明显:Maven没有使用正确版本的Java:
$ mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T07:51:42-06:00)
Maven home: /usr/local/Cellar/maven/3.2.2/libexec
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.2", arch: "x86_64", family: "mac"
Run Code Online (Sandbox Code Playgroud)
但是安装的Java版本应该是1.8:
$ java -version
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b22)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b21, …
Run Code Online (Sandbox Code Playgroud) 我是maven的新手,我发现虽然我将项目的jdk的方面改为1.8,但每次我"更新maven"时,它都会回到jdk 1.6.
这是为什么?
我在我的窗口安装了jdk 1.8,我正在使用eclipse.
我阅读了指定JDK for Maven使用并添加以下内容但它不起作用.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud) 在Eclipse(在Windows 上)中创建的新Maven项目使用默认的 JRE 系统库“J2SE-1.5”。
该项目的创建方式如下:
我想使用JDK 1.8.0,这是我用于非 Maven 项目的默认 JDK。
我的JAVA_HOME变量设置为
C:\Program Files\Java\jdk1.8.0_152
我尝试通过右键单击系统库来切换系统库,并将路径设置为我的JDK 1.8.0。但是在 Maven 更新后,它会重置回 1.5。
其他 Stackoverflow 问题只是建议设置 JAVA_HOME,但这对我不起作用。 指定 JDK 供 Maven 使用
我寻找一些POM.xml命令来设置库,但找不到任何东西。我的 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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>Test123</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Test123</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
我需要更改什么才能将 JDK 1.8 作为我的默认库?
是否可以参考 来在 POM 文件中设置属性$JAVA_HOME
?
<executable><$JAVA_HOME>/bin/javac</executable>
Run Code Online (Sandbox Code Playgroud)
我这样做的原因是我可以让 Maven 使用正确的编译器版本的唯一方法是通过设置<executable>
. 但我不想JAVA_HOME
在 pom 文件中硬编码该位置。