Title: CLI with JDK 17 throws Unsupported class file major version 61 · Issue #373 · UnitTestBot/UTBotJava · GitHub
Open Graph Title: CLI with JDK 17 throws Unsupported class file major version 61 · Issue #373 · UnitTestBot/UTBotJava
X Title: CLI with JDK 17 throws Unsupported class file major version 61 · Issue #373 · UnitTestBot/UTBotJava
Description: Description CLI with JDK 17 Soot throws "IllegalArgumentException: Unsupported class file major version 61" when called from CLI with JDK 17. To Reproduce Steps to reproduce the behavior: Define JDK-17 as primary (Path, JAVA_HOME) Downlo...
Open Graph Description: Description CLI with JDK 17 Soot throws "IllegalArgumentException: Unsupported class file major version 61" when called from CLI with JDK 17. To Reproduce Steps to reproduce the behavior: Define JD...
X Description: Description CLI with JDK 17 Soot throws "IllegalArgumentException: Unsupported class file major version 61" when called from CLI with JDK 17. To Reproduce Steps to reproduce the behavior:...
Opengraph URL: https://github.com/UnitTestBot/UTBotJava/issues/373
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"CLI with JDK 17 throws Unsupported class file major version 61","articleBody":"**Description**\r\n\r\nCLI with JDK 17\r\nSoot throws \"IllegalArgumentException: Unsupported class file major version 61\" when called from CLI with JDK 17.\r\n\r\n**To Reproduce**\r\n\r\nSteps to reproduce the behavior:\r\n\r\n1. Define JDK-17 as primary (Path, JAVA_HOME)\r\n2. Download one of the latest [CLI from master](https://github.com/UnitTestBot/UTBotJava/actions/runs/2596727243)\r\n3. For simplicity in the folder where utbot-cli*.jar is located :\r\nCreate ExampleString.java using var (feature introduced in Java 9)\r\n\r\n```\r\npublic class ExampleString {\r\n\r\n public void stringNewMethod() {\r\n var text = \"Hello! This is String defined with var\";\r\n\r\n text = text.toLowerCase();\r\n System.out.println(text);\r\n\r\n text = text.toUpperCase();\r\n System.out.println(text);\r\n }\r\n}\r\n```\r\n\r\n4. Create ExampleRecord.java using record (feature introduced in Java 16)\r\n\r\n```\r\npublic class ExampleRecord {\r\n\r\n public record Person(String name, int age) {\r\n public Person {\r\n if(age \u003c 0) {\r\n throw new IllegalArgumentException(\"Age cannot be negative\");\r\n }\r\n }\r\n }\r\n}\r\n\r\n```\r\n\r\n5. Compile your files with JDK-17\r\n\r\n`javac ExampleRecord.java`\r\n`javac ExampleString.class`\r\n\r\n6. Run utbot-cli to generate tests for it, like that:\r\n\r\n`java -jar utbot-cli-2022.7.jar generate --source ExampleString.java --classpath \"D:\\Current\\Java\" -o ExampleStringTest.java ExampleString\r\n`\r\n\r\n`java -jar utbot-cli-2022.7.jar generate --source ExampleRecord.java --classpath \"D:\\Current\\Java\" -o ExampleRecordTest.java ExampleRecord`\r\n\r\n**Expected behavior**\r\n\r\nTests are supposed to be generated.\r\n\r\n**Actual behavior**\r\n\r\nThere is the following output in console:\r\n\r\n```\r\nWARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.\r\n16:14:54.331 | INFO | AllInMemoryClassProvider | Loaded: 2 path entries, 48 classes, 196740 bytes\r\n16:14:54.378 | ERROR | GenerateTestsCommand | An error has occurred while generating test for snippet ExampleRecord : java.lang.IllegalArgumentException: Unsupported class file major version 61\r\njava.lang.IllegalArgumentException: Unsupported class file major version 61\r\n at org.objectweb.asm.ClassReader.\u003cinit\u003e(ClassReader.java:196)\r\n at org.objectweb.asm.ClassReader.\u003cinit\u003e(ClassReader.java:177)\r\n at org.objectweb.asm.ClassReader.\u003cinit\u003e(ClassReader.java:163)\r\n at org.objectweb.asm.ClassReader.\u003cinit\u003e(ClassReader.java:284)\r\n at soot.asm.AsmClassSource.resolve(AsmClassSource.java:64)\r\n at soot.SootResolver.bringToHierarchyUnchecked(SootResolver.java:253)\r\n at soot.SootResolver.bringToHierarchy(SootResolver.java:221)\r\n at soot.SootResolver.bringToSignatures(SootResolver.java:292)\r\n at soot.SootResolver.bringToBodies(SootResolver.java:332)\r\n at soot.SootResolver.processResolveWorklist(SootResolver.java:171)\r\n at soot.SootResolver.resolveClass(SootResolver.java:141)\r\n at soot.Scene.tryLoadClass(Scene.java:965)\r\n at soot.Scene.loadBasicClasses(Scene.java:1670)\r\n at soot.Scene.loadNecessaryClasses(Scene.java:1770)\r\n at org.utbot.framework.plugin.api.SootUtilsKt.runSoot(SootUtils.kt:77)\r\n at org.utbot.framework.plugin.api.UtBotTestCaseGenerator.init(UtBotTestCaseGenerator.kt:111)\r\n at org.utbot.framework.plugin.api.UtBotTestCaseGenerator.init(UtBotTestCaseGenerator.kt:75)\r\n at org.utbot.cli.GenerateTestsAbstractCommand.initializeEngine(GenerateTestsAbstractCommand.kt:202)\r\n at org.utbot.cli.GenerateTestsCommand.run(GenerateTestsCommand.kt:95)\r\n at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:204)\r\n at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:213)\r\n at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:17)\r\n at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:396)\r\n at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:393)\r\n at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:411)\r\n at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:436)\r\n at org.utbot.cli.ApplicationKt.main(Application.kt:31)\r\n```","author":{"url":"https://github.com/alisevych","@type":"Person","name":"alisevych"},"datePublished":"2022-07-01T14:45:00.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/373/UTBotJava/issues/373"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:f2caf888-daba-3d94-7b11-bec4528a5f80 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CA70:8A020:2F83A3:3F754E:698D8836 |
| html-safe-nonce | 1e529ec3b5e3ecdf67f505ee5236db1da7c9fa964f6b741400730cfdf0fde447 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQTcwOjhBMDIwOjJGODNBMzozRjc1NEU6Njk4RDg4MzYiLCJ2aXNpdG9yX2lkIjoiMTc0MTExMjc3MjE0NDIzNjU5OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 415b2104138b4038ee45b487b0617427d54b98434306a414c979578c7b87c68b |
| hovercard-subject-tag | issue:1291500830 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/UnitTestBot/UTBotJava/373/issue_layout |
| twitter:image | https://opengraph.githubassets.com/bb5023f17f051bf7fbeb0fdd15154d5104313c559d4ba3506d4353d9912e53db/UnitTestBot/UTBotJava/issues/373 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/bb5023f17f051bf7fbeb0fdd15154d5104313c559d4ba3506d4353d9912e53db/UnitTestBot/UTBotJava/issues/373 |
| og:image:alt | Description CLI with JDK 17 Soot throws "IllegalArgumentException: Unsupported class file major version 61" when called from CLI with JDK 17. To Reproduce Steps to reproduce the behavior: Define JD... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | alisevych |
| hostname | github.com |
| expected-hostname | github.com |
| None | c0818105fa276287e9369cfdefa0a0fa7953719791ceff9b94d69623c0a4fe8a |
| turbo-cache-control | no-preview |
| go-import | github.com/UnitTestBot/UTBotJava git https://github.com/UnitTestBot/UTBotJava.git |
| octolytics-dimension-user_id | 87413538 |
| octolytics-dimension-user_login | UnitTestBot |
| octolytics-dimension-repository_id | 480810501 |
| octolytics-dimension-repository_nwo | UnitTestBot/UTBotJava |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 480810501 |
| octolytics-dimension-repository_network_root_nwo | UnitTestBot/UTBotJava |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 4c8f4bd0b67d7f1472d0ab3f49827eaae062a36b |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width