Maven没有';不要使用Java7

Maven没有';不要使用Java7,java,maven,maven-2,java-7,Java,Maven,Maven 2,Java 7,我想打包一个maven-(多)模块,父POM包括: org.apache.maven.plugins maven编译器插件 2.3.2 ${maven.compiler.source} ${maven.compiler.target} ${project.build.sourceEncoding} 我使用的是Java 1.7,其属性指定如下: UTF-8 1.7 1.7 1.6.1 Maven版本是2.2.1: johannes@luna:~/workspace/treetank/bun

我想打包一个maven-(多)模块,父POM包括:


org.apache.maven.plugins
maven编译器插件
2.3.2
${maven.compiler.source}
${maven.compiler.target}
${project.build.sourceEncoding}
我使用的是Java 1.7,其属性指定如下:


UTF-8
1.7
1.7
1.6.1
Maven版本是2.2.1:

johannes@luna:~/workspace/treetank/bundles/treetank核心$mvn-版本
ApacheMaven 2.2.1(rdebian-6)
Java版本:1.7.0
Java主页:/usr/lib/jvm/jdk1.7.0/jre
默认区域设置:en_US,平台编码:UTF-8
操作系统名称:“linux”版本:“3.0.0-14-generic”arch:“amd64”系列:“unix”
我不知道为什么它不使用Java 1.7版。例如,调用
mvn包时,我会得到错误(使用-source 7或更高版本来启用diamond操作符)。你知道为什么它尝试使用1.6吗

有效的POM是:


maven编译器插件
2.3.2
默认测试编译
测试编译
测试编译
1.7
1.7
UTF-8
默认编译
编译
编译
1.7
1.7
UTF-8
1.7
1.7
UTF-8

Mark Peters对jdk 1.7与maven 2.2.1的兼容性问题给出了完美的解释

这在maven 2.2.1中可能不起作用,但在maven 3.0.4中,只需将这两个属性添加到pom的属性中,我就可以使用Java 7:

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

1.7
1.7

适用于我在RHEL5上的一个简单的maven项目。我用1.6编译1.7源代码时得到的错误文本也是不同的-
菱形运算符在-source 1.6中不受支持-
我的项目编译得很好,但后来不知何故,一个src文件夹被添加到pom.xml中,仅针对该特定文件夹显式地将这两个属性设置为1.6,似乎人们都说它不起作用了,所以我尝试了fresh w/maven 3.3.9:生成项目:
mvn-B原型:Generate-DarchetypeGroupId=org.apache.maven.archetypes-DgroupId=com.example-DartifactId=maven sample
然后添加
List List=new ArrayList()并在
mvn测试中验证源代码错误。将属性添加到pom.xml。修正了mvn测试的问题。从Eclipse4.4.1:文件->导入->现有项目生成的eclipse项目:
MVNClipse:eclipse
。然后,我就可以从eclipse=)运行单元测试了。似乎最好问一个新问题:您正在做的哪些工作不起作用?