Skip to content

Maven plugin fails on Java 8 project due to ClassNotFoundException: kotlin.jdk7.AutoCloseableKt #2657

Open
@liblit

Description

@liblit

Description

I built UTBotJava-2023.10 using Java 17, after finding that both Java 8 and Java 11 resulted in build failures.

I added the UTBotJava Maven plugin to an open-source project's pom.xml, then tried to use Maven to run the utbot:generateTestsAndSarifReport task. The target project is still based on Java 8, so I set JAVA_HOME to a Java 8 JDK when running Maven. The utbot:generateTestsAndSarifReport task failed, reporting java.lang.ClassNotFoundException: kotlin.jdk7.AutoCloseableKt. Using a Java 17 JDK when running Maven fails even earlier, as the target application does not compile under Java 17.

To Reproduce

Steps to reproduce the behavior:

  1. Build UTBotJava using a Java 17 JDK. In my case, running on MacOS, I used:

    JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home ./gradlew publishToMavenLocal
  2. Check out nilzao/soapbox-race@5acac4da. Other revisions might exhibit the same problem, but that's the specific revision I used.

  3. Modify soapbox-race's pom.xml by adding the following lines to the <plugins> section:

    <plugin>
      <groupId>org.utbot</groupId>
      <artifactId>utbot-maven</artifactId>
      <version>2023.10-SNAPSHOT</version>
    </plugin>
  4. Using a Java 8 JDK, run Maven with the utbot:generateTestsAndSarifReport target:

    rm -rf target
    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home mvn utbot:generateTestsAndSarifReport
  5. Also try using the same Java 17 JDK that was used to compile UTBotJava:

    rm -rf target
    JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home mvn utbot:generateTestsAndSarifReport
    

Expected behavior

Tests and a SARIF report should be generated.

Actual behavior

When running Maven using Java 8, failure due to java.lang.ClassNotFoundException: kotlin.jdk7.AutoCloseableKt.

When running Maven using Java 17, failure to compile the target application.

Visual proofs (screenshots, logs, images)

Environment

  • Java 8 and/or Java 17 JDKs as mentioned above
  • MacOS Ventura 13.4.1
  • nilzao/soapbox-race@5acac4da as the target application and Git commit hash for which tests should be generated
  • Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)

Metadata

Metadata

Assignees

No one assigned

    Labels

    ctg-bugIssue is a bug

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions