object JavaRuntime
- Alphabetic
- By Inheritance
- JavaRuntime
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
def
current: JavaRuntime
Detects the runtime of the running JDK instance.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getJavaVersionFromJavaHome(javaHome: AbsolutePath): Option[String]
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- val home: AbsolutePath
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def javaCompiler: Option[JavaCompiler]
- val javac: Option[AbsolutePath]
-
def
javacBinaryFromJavaHome(home: AbsolutePath): Option[AbsolutePath]
Points to the javac binary location.
Points to the javac binary location.
The javac binary can be derived from javaHome. However, the home might point to different places in different operating systems. For example, in Linux it can point to the home of the runtime instead of the full java home. It's possible that
bin/javac
doesn't exist in the runtime home, but instead in the full home where the JDK installation was done. Therefore, if we don't find javac in the usual location, we go to the parent of java home and attempt the search again. If nothin works, we just returnNone
and let the caller of this function handle this case appropriately. -
lazy val
loadJavaDebugInterface: Try[Unit]
Loads the java debug interface once.
Loads the java debug interface once.
The Java Debug Interface is implemented in Java < 9 in an auxiliary jar called
tools.jar
. The tools jar is only accessible in JDKs but it's not loaded by default (users need to load it manually when they initialize an application that requires it by setting up the classpath).To avoid our users from doing such a thing, we instead try to load the JDI by finding the tools.jar dynamically on the java home of a JDK and then side-effecting on the system classloader to attempt to load it.
We only do this once and cache its result so that all debug clients know whether debugging is supported or not in this bloop server instance.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- val version: String
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- object JDK extends JavaRuntime with Product with Serializable
- object JRE extends JavaRuntime with Product with Serializable
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated