Skip to content

Missing a meaningful error message when trying to pass non-Scala inputs with --server=false #3897

@Gedochao

Description

@Gedochao

Version(s)
1.9.1

Describe the bug
Scala CLI doesn't support running non-Scala inputs without Bloop (with --server=false), but it doesn't raise a meaningful error, and rather lets the compiler fail.

To Reproduce

//Side.java
public  class Side {
    public static String message = "Hello";
}
//Smth.scala
@main def main() = println(Side.message)
scala-cli .
# Compiling project (Scala 3.7.3, JVM (23))
# Compiled project (Scala 3.7.3, JVM (23))
# Hello
scala-cli . --server=false
# Exception in thread "main" java.lang.NoClassDefFoundError: Side
#        at Smth$.<clinit>(Main.scala:2)
#         at Smth.main(Main.scala)
# Caused by: java.lang.ClassNotFoundException: Side
#         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
#         at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
#         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
#         ... 2 more

Expected behaviour

scala-cli .
# Compiling project (Scala 3.7.3, JVM (23))
# Compiled project (Scala 3.7.3, JVM (23))
# Hello
scala-cli . --server=false
# Error: Scala CLI does not support .java inputs with --server=false

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions