与Eclipse相比,Maven命令行构建不一致

时间:2015-01-29 17:27:33

标签: java 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

1 个答案:

答案 0 :(得分:1)

确实很奇怪。

我相信你可以在你的pom中尝试这样的事情,只是为了确保:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>  
</properties>

您确定该日食指向同一个maven安装吗?我会再次检查,只是为了安全起见。

Or it might be a bug.

相关问题