Skip to content

unable to build a project with JDK 8 #6400

@Rogach

Description

@Rogach

I'm trying to upgrade an old project that still uses Java 8, and I'm trying to migrate it from SBT to Mill. But trying to build even the simplest example project fails - see below.

Here's the build.mill I used:

//| mill-jvm-version: zulu:21
package build
import mill.*, scalalib.*

object foo extends ScalaModule {
  override def scalaVersion = "2.13.18"
  def jvmId = "adopt:8.0-292"
}

And here's the error:

mill foo.compile
build.mill-61] compile compiling 3 Scala sources to out/mill-build/compile.dest/classes ...
build.mill-61] done compiling
50] foo.compile
50] Exception in thread "main" java.lang.UnsupportedClassVersionError: mill/client/lock/Locks has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
50] 	at java.lang.ClassLoader.defineClass1(Native Method)
50] 	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
50] 	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
50] 	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
50] 	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
50] 	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
50] 	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
50] 	at java.security.AccessController.doPrivileged(Native Method)
50] 	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
50] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
50] 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
50] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
50] 	at mill.javalib.zinc.ZincWorkerMain$ZincWorkerTcpServer.<init>(ZincWorkerMain.scala:37)
50] 	at mill.javalib.zinc.ZincWorkerMain$.main$$anonfun$1(ZincWorkerMain.scala:19)
50] 	at mill.api.SystemStreamsUtils$.withTopLevelSystemStreamProxy(SystemStreamsUtils.scala:75)
50] 	at mill.javalib.zinc.ZincWorkerMain$.main(ZincWorkerMain.scala:31)
50] 	at mill.javalib.zinc.ZincWorkerMain.main(ZincWorkerMain.scala)
50/50, 1 failed] ============================== foo.compile ============================== 18s
50] [error] foo.compile
java.lang.Exception: server launch failed (timeout was 10000ms)
  mill.client.ServerLauncher.retryWithTimeout(ServerLauncher.java:188)
  mill.client.ServerLauncher.launchOrConnectToServer(ServerLauncher.java:132)
  mill.javalib.worker.JvmWorkerImpl.$init$$$anonfun$2(JvmWorkerImpl.scala:131)
  mill.util.RefCountedCache.get(RefCountedCache.scala:29)
  mill.javalib.worker.SubprocessZincApi.apply(SubprocessZincApi.scala:85)
  mill.javalib.worker.JvmWorkerImpl.apply(JvmWorkerImpl.scala:49)
  mill.scalalib.ScalaModule.compileTask$$anonfun$1(ScalaModule.scala:289)
  mill.api.Task$Anon.evaluate(Task.scala:436)
java.lang.RuntimeException: java.lang.IllegalStateException: Failed to launch 'mill.javalib.zinc.ZincWorkerMain' for:
  javaHome = Some(/home/user/.cache/coursier/arc/https/github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz/jdk8u292-b10)
  runtimeOptions =
  daemonDir = /home/user/proj/out/mill.javalib.JvmWorkerModule/internalWorker.dest/zinc-worker/834896655/daemon

Failure:
ProcessDied{server=LaunchedServer.OsProcess{process=3691339}, outputs=ServerLaunchOutputs{No daemon stdout

No daemon stderr

}}

  mill.client.ServerLauncher.lambda$launchOrConnectToServer$0(ServerLauncher.java:164)
  mill.client.ServerLauncher.retryWithTimeout(ServerLauncher.java:178)
  mill.client.ServerLauncher.launchOrConnectToServer(ServerLauncher.java:132)
  mill.javalib.worker.JvmWorkerImpl.$init$$$anonfun$2(JvmWorkerImpl.scala:131)
  mill.util.RefCountedCache.get(RefCountedCache.scala:29)
  mill.javalib.worker.SubprocessZincApi.apply(SubprocessZincApi.scala:85)
  mill.javalib.worker.JvmWorkerImpl.apply(JvmWorkerImpl.scala:49)
  mill.scalalib.ScalaModule.compileTask$$anonfun$1(ScalaModule.scala:289)
  mill.api.Task$Anon.evaluate(Task.scala:436)
java.lang.IllegalStateException: Failed to launch 'mill.javalib.zinc.ZincWorkerMain' for:
  javaHome = Some(/home/user/.cache/coursier/arc/https/github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz/jdk8u292-b10)
  runtimeOptions =
  daemonDir = /home/user/proj/out/mill.javalib.JvmWorkerModule/internalWorker.dest/zinc-worker/834896655/daemon

Failure:
ProcessDied{server=LaunchedServer.OsProcess{process=3691339}, outputs=ServerLaunchOutputs{No daemon stdout

No daemon stderr

}}

  mill.javalib.worker.JvmWorkerImpl.$anonfun$4(JvmWorkerImpl.scala:127)
  mill.client.ServerLauncher.lambda$launchOrConnectToServer$0(ServerLauncher.java:160)
  mill.client.ServerLauncher.retryWithTimeout(ServerLauncher.java:178)
  mill.client.ServerLauncher.launchOrConnectToServer(ServerLauncher.java:132)
  mill.javalib.worker.JvmWorkerImpl.$init$$$anonfun$2(JvmWorkerImpl.scala:131)
  mill.util.RefCountedCache.get(RefCountedCache.scala:29)
  mill.javalib.worker.SubprocessZincApi.apply(SubprocessZincApi.scala:85)
  mill.javalib.worker.JvmWorkerImpl.apply(JvmWorkerImpl.scala:49)
  mill.scalalib.ScalaModule.compileTask$$anonfun$1(ScalaModule.scala:289)
  mill.api.Task$Anon.evaluate(Task.scala:436)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions