nusCS2113-AY1819S1 / forum

5 stars 0 forks source link

CheckStyle throws java.lang.UnsupportedClassVersionError #78

Open px1099 opened 5 years ago

px1099 commented 5 years ago

The problem

In the AB3 project that we are developing, we discovered that the two Exceptions: UniquePersonList.PersonNotFoundException and UniquePersonList.DuplicateDataException makes it unable to scan the file AddressBook.java The error message is stated below. It is quite strange since we implement other DuplicateXYZException and XYZNotFoundException similarly to those two exceptions, but they don't share the same problem, and that UniquePersonList.PersonNotFoundException and UniquePersonList.DuplicateDataException do not cause failed scan in other files.

What I have done to avoid this problem

After doing these, the scan run normally for AddressBook.java

The error message

The scan failed due to an exception: Error was thrown while processing D:\NUS\cs2113t\address book lv3\src\seedu\addressbook\data\AddressBook.java Root cause: seedu/addressbook/data/person/UniquePersonList$DuplicatePersonException has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 java.lang.UnsupportedClassVersionError: seedu/addressbook/data/person/UniquePersonList$DuplicatePersonException has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0   at java.lang.ClassLoader.defineClass1(Native Method)   at java.lang.ClassLoader.defineClass(ClassLoader.java:763)   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)   at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)   at java.net.URLClassLoader.access$100(URLClassLoader.java:73)   at java.net.URLClassLoader$1.run(URLClassLoader.java:368)   at java.net.URLClassLoader$1.run(URLClassLoader.java:362)   at java.security.AccessController.doPrivileged(Native Method)   at java.net.URLClassLoader.findClass(URLClassLoader.java:361)   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)   at java.lang.Class.forName0(Native Method)   at java.lang.Class.forName(Class.java:348)   at com.puppycrawl.tools.checkstyle.checks.ClassResolver.safeLoad(ClassResolver.java:216)   at com.puppycrawl.tools.checkstyle.checks.ClassResolver.isLoadable(ClassResolver.java:194)   at com.puppycrawl.tools.checkstyle.checks.ClassResolver.resolveQualifiedName(ClassResolver.java:227)   at com.puppycrawl.tools.checkstyle.checks.ClassResolver.resolveQualifiedName(ClassResolver.java:236)   at com.puppycrawl.tools.checkstyle.checks.ClassResolver.resolveMatchingExplicitImport(ClassResolver.java:133)   at com.puppycrawl.tools.checkstyle.checks.ClassResolver.resolve(ClassResolver.java:79)   at com.puppycrawl.tools.checkstyle.checks.AbstractTypeAwareCheck.resolveClass(AbstractTypeAwareCheck.java:238)   at com.puppycrawl.tools.checkstyle.checks.AbstractTypeAwareCheck.tryLoadClass(AbstractTypeAwareCheck.java:254)   at com.puppycrawl.tools.checkstyle.checks.AbstractTypeAwareCheck$RegularClass.getClazz(AbstractTypeAwareCheck.java:462)   at com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck.isInThrows(JavadocMethodCheck.java:961)   at com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck.checkThrowsTags(JavadocMethodCheck.java:903)   at com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck.checkComment(JavadocMethodCheck.java:503)   at com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck.processAST(JavadocMethodCheck.java:357)   at com.puppycrawl.tools.checkstyle.checks.AbstractTypeAwareCheck.visitToken(AbstractTypeAwareCheck.java:155)   at com.puppycrawl.tools.checkstyle.TreeWalker.notifyVisit(TreeWalker.java:419)   at com.puppycrawl.tools.checkstyle.TreeWalker.processIter(TreeWalker.java:556)   at com.puppycrawl.tools.checkstyle.TreeWalker.walk(TreeWalker.java:359)   at com.puppycrawl.tools.checkstyle.TreeWalker.processFiltered(TreeWalker.java:210)   at com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck.process(AbstractFileSetCheck.java:79)   at com.puppycrawl.tools.checkstyle.Checker.processFile(Checker.java:316)   at com.puppycrawl.tools.checkstyle.Checker.processFiles(Checker.java:286)   at com.puppycrawl.tools.checkstyle.Checker.process(Checker.java:213)   at org.infernus.idea.checkstyle.service.cmd.OpScan.processAndAudit(OpScan.java:75)   at org.infernus.idea.checkstyle.service.cmd.OpScan.execute(OpScan.java:52)   at org.infernus.idea.checkstyle.service.cmd.OpScan.execute(OpScan.java:22)   at org.infernus.idea.checkstyle.service.CheckstyleActionsImpl.executeCommand(CheckstyleActionsImpl.java:130)   at org.infernus.idea.checkstyle.service.CheckstyleActionsImpl.scan(CheckstyleActionsImpl.java:76)   at org.infernus.idea.checkstyle.checker.CheckStyleChecker.scan(CheckStyleChecker.java:45)   at org.infernus.idea.checkstyle.CheckStyleInspection.lambda$inspectFile$1(CheckStyleInspection.java:91)   at java.util.Optional.map(Optional.java:215)   at org.infernus.idea.checkstyle.CheckStyleInspection.inspectFile(CheckStyleInspection.java:91)   at org.infernus.idea.checkstyle.CheckStyleInspection.lambda$checkFile$0(CheckStyleInspection.java:63)   at com.intellij.openapi.application.impl.ApplicationImpl$2.call(ApplicationImpl.java:337)   at java.util.concurrent.FutureTask.run(FutureTask.java:266)   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)   at java.lang.Thread.run(Thread.java:745)

QzSG commented 5 years ago

Initial glance looks like u are running the app using Java 1.8 but your sources were build using Java 9

px1099 commented 5 years ago

I set up IntelliJ to use JDK 9, and I have only installed Java 9 and 10 in my laptop, so I have no idea how Java 8 can creep inside the app.