Maven 命令行构建与 Eclipse 不一致
Inconsistency in Maven command line build versus Eclipse
我正在尝试将我的项目使用的 JDK 版本升级到 JDK 8. 我已经安装了 Eclipse Luna (4.4.1),并设置了 JDK 编译器合规级别为 1.8。我还修改了 maven-compiler-plugin 的配置以使用 1.8 的源和目标版本:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Eclipse 成功构建了我的整个项目,并表明我的项目中没有编译时错误。但是,当我从命令行 运行 mvn clean install
时,我收到一个编译器错误:
SomeClass.java:[91,89] incompatible types: inference variable B has incompatible bounds
为什么我会从命令行看到这个错误,而不是 Eclipse? Eclipse 指向从命令行使用的同一个 Maven 安装。
来自 mvn -version
的输出:
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T11:37:52-06:00)
Maven home: /usr/local/apache-maven-3.2.1
Java version: 1.8.0_31, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre
确实很奇怪。
我相信你可以在你的 pom 中尝试这样的事情,只是为了确保:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
您确定 eclipse 指向同一个 maven 安装吗?为了安全起见,我会再次检查它。
我正在尝试将我的项目使用的 JDK 版本升级到 JDK 8. 我已经安装了 Eclipse Luna (4.4.1),并设置了 JDK 编译器合规级别为 1.8。我还修改了 maven-compiler-plugin 的配置以使用 1.8 的源和目标版本:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Eclipse 成功构建了我的整个项目,并表明我的项目中没有编译时错误。但是,当我从命令行 运行 mvn clean install
时,我收到一个编译器错误:
SomeClass.java:[91,89] incompatible types: inference variable B has incompatible bounds
为什么我会从命令行看到这个错误,而不是 Eclipse? Eclipse 指向从命令行使用的同一个 Maven 安装。
来自 mvn -version
的输出:
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T11:37:52-06:00)
Maven home: /usr/local/apache-maven-3.2.1
Java version: 1.8.0_31, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre
确实很奇怪。
我相信你可以在你的 pom 中尝试这样的事情,只是为了确保:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
您确定 eclipse 指向同一个 maven 安装吗?为了安全起见,我会再次检查它。