Reputation: 5070
I am trying to run PMD with a Java 23 project.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.25.0</version>
<configuration>
<outputDirectory>target/reports/pmd</outputDirectory>
<skipEmptyReport>false</skipEmptyReport>
</configuration>
</plugin>
However, upon run, I am facing this issue:
[INFO] PMD version: 7.3.0
[ERROR] Parsing failed in ParseLock#doParse()
java.lang.IllegalArgumentException: Unsupported class file major version 67
at org.objectweb.asm.ClassReader.<init> (ClassReader.java:200)
at org.objectweb.asm.ClassReader.<init> (ClassReader.java:180)
at org.objectweb.asm.ClassReader.<init> (ClassReader.java:166)
at org.objectweb.asm.ClassReader.<init> (ClassReader.java:288)
at net.sourceforge.pmd.lang.java.symbols.internal.asm.ClassStub$1.doParse (ClassStub.java:97)
at net.sourceforge.pmd.lang.java.symbols.internal.asm.ParseLock.getFinalStatus (ParseLock.java:33)
at net.sourceforge.pmd.lang.java.symbols.internal.asm.ParseLock.isFailed (ParseLock.java:66)
at net.sourceforge.pmd.lang.java.symbols.internal.asm.ClassStub.isUnresolved (ClassStub.java:511)
at net.sourceforge.pmd.lang.java.types.ClassTypeImpl.checkUserEnclosingTypeIsOk (ClassTypeImpl.java:452)
at net.sourceforge.pmd.lang.java.types.ClassTypeImpl.validateParams (ClassTypeImpl.java:418)
at net.sourceforge.pmd.lang.java.types.ClassTypeImpl.<init> (ClassTypeImpl.java:69)
at net.sourceforge.pmd.lang.java.types.ClassTypeImpl.<init> (ClassTypeImpl.java:64)
at net.sourceforge.pmd.lang.java.types.TypeSystem.typeOf (TypeSystem.java:458)
at net.sourceforge.pmd.lang.java.types.TypeSystem.rawType (TypeSystem.java:485)
at net.sourceforge.pmd.lang.java.types.TypesFromReflection.fromReflect (TypesFromReflection.java:99)
at net.sourceforge.pmd.lang.java.types.TypesFromReflection.fromReflect (TypesFromReflection.java:69)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.newStringCtx (PolyResolution.java:731)
at net.sourceforge.pmd.lang.java.types.ast.internal.PolyResolution.<init> (PolyResolution.java:98)
at net.sourceforge.pmd.lang.java.types.ast.internal.LazyTypeResolver.<init> (LazyTypeResolver.java:116)
at net.sourceforge.pmd.lang.java.ast.InternalApiBridge.initTypeResolver (InternalApiBridge.java:147)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process (JavaAstProcessor.java:130)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process (JavaAstProcessor.java:164)
at net.sourceforge.pmd.lang.java.internal.JavaAstProcessor.process (JavaAstProcessor.java:148)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl (JavaParser.java:69)
at net.sourceforge.pmd.lang.java.ast.JavaParser.parseImpl (JavaParser.java:25)
at net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeParserAdapter.parse (JjtreeParserAdapter.java:36)
at net.sourceforge.pmd.lang.impl.PmdRunnable.parse (PmdRunnable.java:112)
at net.sourceforge.pmd.lang.impl.PmdRunnable.processSource (PmdRunnable.java:132)
at net.sourceforge.pmd.lang.impl.PmdRunnable.run (PmdRunnable.java:80)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
at java.util.concurrent.FutureTask.run (FutureTask.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
at java.lang.Thread.run (Thread.java:1575)
[ERROR] Parsing failed in ParseLock#doParse()
java.lang.IllegalArgumentException: Unsupported class file major version 67
How to resolve this?
Upvotes: 0
Views: 28