当我运行mvn pmd:检查JAVA_HOME设置为jdk 1.8时,运行顺利。当我将jdk切换到1.7时,我得到以下异常。 PMD支持1.7,所以不确定为什么我会收到此错误。
引起:org.apache.maven.plugin.PluginContainerException:执行org.apache.maven.plugins时遇到API不兼容:maven-pmd-plugin:3.8:pmd:java.lang.UnsupportedClassVersionError :: notupported major .minor版本52.0
有人遇到同样的问题吗?
答案 0 :(得分:0)
52.0是Java 8.这意味着我试图在Java 7 VM中运行Java 8代码。虽然我的jdk和JAVA_HOME设置为7。 我使用的pmd插件是3.8版本,似乎支持jdk 8+。 我将我的maven-pmd-plugin降级为3.7。异常消失了。
答案 1 :(得分:0)
这很奇怪。 PMD仍在使用JDK7 - 就像maven一样。如果要分析Salesforce.com Apex代码,则只需要JDK8。
您是否介意使用-e
或-X
选项运行mvn,以查看哪个类适用于java8?那你应该得到一个堆栈跟踪。它可能是由依赖引起的。
另外:你使用的是哪个版本的maven?