我有一个大型 Maven 项目,分为一些模块。
我决定用 maven 给 pmd(代码质量检查)模块。
当我尝试使用命令测试 pmd 模块时
mvn pmd:pmd
我收到以下类型的警告:
- 除非在 JDK 1.5 模式下运行,否则不能使用泛型!
- 在JDK 1.4模式下运行时不能使用注解!
- 不能在 pre-JDK 1.5 目标中使用 enum 作为关键字
看起来 maven 出于某种原因使用 jdk 1.4 编译项目。
java -version
输出:
java version "1.7.0_05"
OpenJDK Runtime Environment (IcedTea7 2.2.1) (Gentoo build 1.7.0_05-b21)
OpenJDK 64-Bit Server VM (build 23.0-b21, mixed mode)
我用的是gentoo linux。
Linux ufk-work 3.5.2-gentoo #1 SMP Sun Aug 19 18:58:32 IDT 2012 x86_64 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz GenuineIntel GNU/Linux
mvn -version
输出:
Apache Maven 3.0.4 (r1232337; 2012-01-17 10:44:56+0200)
Maven home: /usr/share/maven-bin-3.0
Java version: 1.7.0_05, vendor: Oracle Corporation
Java home: /usr/lib64/icedtea7/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.5.2-gentoo", arch: "amd64", family: "unix"
那么有什么想法可以确保 maven 可以为 jdk 1.7 而不是 1.4 编译吗?
我用谷歌搜索并找到了 maven-compiler-plugin 的使用示例,如下所示:http: //twit88.com/blog/2008/03/09/maven-compile-your-application-to-be-14- 15 或 16 兼容/
不幸的是,结果完全一样。
任何有关该问题的信息将不胜感激。
太感谢了!
冷杉
更新
我尝试将 maven-compiler-plugin 和 maven-pmd-plugin 添加到我的主 pom.xml 中,但结果完全相同。
更新后的 pom.xml 可以在http://bpaste.net/show/41166/查看