PatPanda
PatPanda

Reputation: 5070

PMD version: 7.3.0 java.lang.IllegalArgumentException: Unsupported class file major version 67 with Java 23

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

Answers (0)

Related Questions