Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8306488

When running jpackage and adding `--add-launcher`, it throws `ClassCastException`.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • 22
    • 17.0.6, 20
    • tools
    • None

      ### Please provide a brief summary of the bug

      When running jpackage and adding `--add-launcher`, it throws `ClassCastException`.

      ### Please provide steps to reproduce where possible

      https://github.com/airsquared/jpackage_error

      Run `./build.sh` or look at the GitHub Actions [logs](https://github.com/airsquared/jpackage_error/actions).

      ### Expected Results

      It should succeed and generate the platform specific installer.

      ### Actual Results

      Just prints:

      ```
      java.lang.ClassCastException: class java.util.ImmutableCollections$List12 cannot be cast to class java.lang.String (java.util.ImmutableCollections$List12 and java.lang.String are in module java.base of loader 'bootstrap')
      ```

      ### What Java Version are you using?

      openjdk 20 2023-03-21 OpenJDK Runtime Environment Temurin-20+36 (build 20+36) OpenJDK 64-Bit Server VM Temurin-20+36 (build 20+36, mixed mode, sharing)

      ### What is your operating system and platform?

      On Intel (GitHub Actions runners):

      Ubuntu 22.04.2, Microsoft Windows Server 2022 10.0.20348, macOS 12.6.4

      ### How did you install Java?

      From the latest GitHub Actions package:

      ```
      uses: actions/setup-java@v3
      with:
        java-version: '20'
        distribution: 'temurin'
      ```

      ### Did you test with the latest update version?

      ```Shell
      Yes
      ```


      ### Did you test with other Java versions?

      ```Shell
      Java 20 and Java 17
      ```


      ### Relevant log output

      ```Shell
      Caused by: java.lang.ClassCastException: class java.util.ImmutableCollections$List12 cannot be cast to class java.lang.String (java.util.ImmutableCollections$List12 and java.lang.String are in module java.base of loader 'bootstrap')
      at jdk.jpackage/jdk.jpackage.internal.LauncherData.lambda$getPathListParameter$5(LauncherData.java:309)
      at jdk.jpackage/jdk.jpackage.internal.LauncherData.getPathParam(LauncherData.java:271)
      at jdk.jpackage/jdk.jpackage.internal.LauncherData.getPathListParameter(LauncherData.java:308)
      at jdk.jpackage/jdk.jpackage.internal.LauncherData.getModulePath(LauncherData.java:293)
      at jdk.jpackage/jdk.jpackage.internal.LauncherData.createModular(LauncherData.java:135)
      at jdk.jpackage/jdk.jpackage.internal.LauncherData.create(LauncherData.java:115)
      at jdk.jpackage/jdk.jpackage.internal.StandardBundlerParam.lambda$static$0(StandardBundlerParam.java:84)
      at jdk.jpackage/jdk.jpackage.internal.BundlerParamInfo.fetchFrom(BundlerParamInfo.java:114)
      at jdk.jpackage/jdk.jpackage.internal.BundlerParamInfo.fetchFrom(BundlerParamInfo.java:88)
      at jdk.jpackage/jdk.jpackage.internal.CfgFile.initFromParams(CfgFile.java:50)
      at jdk.jpackage/jdk.jpackage.internal.AbstractAppImageBuilder.writeCfgFile(AbstractAppImageBuilder.java:65)
      at jdk.jpackage/jdk.jpackage.internal.MacAppImageBuilder.prepareApplicationFiles(MacAppImageBuilder.java:329)
      at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.createAppBundle(AppImageBundler.java:187)
      at jdk.jpackage/jdk.jpackage.internal.AppImageBundler.execute(AppImageBundler.java:91)
      ... 7 more
      ```

      This fails on Java 17 and 20 on Mac OS X, Windows and Linux

            asemenyuk Alexey Semenyuk
            karianna Martijn Verburg
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: