Updated Scala modularization and classpaths (markdown)

eugene yokota 2019-04-18 11:33:52 -04:00
parent 93eb3f5648
commit 5995679f04
1 changed files with 3 additions and 1 deletions

@ -6,7 +6,9 @@ Scala modularization makes it necessary to deal with some existing issues that m
The term "boot classpath" comes from Java's Bootstrap Classes, which are the classes that implement the Java Platform. By default, bootstrap classes are in the `rt.jar` and several other jar files in the `jre/lib` directory according to [How Classes are Found](https://docs.oracle.com/javase/8/docs/technotes/tools/findingclasses.html).
The Scala compiler has `-javabootclasspath <path>` flag to override Java boot classpath. I assume the intent is to allow overriding classes in Java standard library.
`javac` supports programmers wanting to resolve boot class (or extension class) references using an alternative Java platform implementation by providing `-bootclasspath` options.
The Scala compiler also provides `-javabootclasspath <path>` flag to override Java boot classpath.
For the Java boot classpath, the `scala` script justs puts everything in `lib/` on it.
This is not the right thing to do because it makes classes not on the user's classpath available.