1 # JavaSE (Shaded) Usage
3 SquirrelJME's Shaded JavaSE JAR requires at least a Java SE 7 virtual
4 machine. For most systems, it may be downloaded from the following locations:
6 * <https://adoptopenjdk.net/>
7 * <http://www.oracle.com/technetwork/java/javase/downloads/index.html>
8 * In Debian/Ubuntu, OpenJDK is available in the repository.
10 Generally SquirrelJME will work best with at least a Java 8 virtual machine.
12 The JAR file `squirreljme-javase.jar` may be run by running the following:
14 * `java -jar squirreljme-javase.jar`
16 When run, it should start the launcher and provide a list of available
19 The following keys are used:
21 * _F1_ - _F12_: Command actions, these are placed at the bottom of the screen.
22 * _Arrow Keys_: Directional actions.
23 * _Spacebar_ : _Fire_ action.
24 * _ABCD_ : _A_, _B_, _C_, and _D_ game actions.
26 ## Third-party Libraries and Applications
28 Third-party libraries and applications may be used, however currently these
29 may or may not be supported fully. The JARs must be valid J2ME or Java ME
30 libraries or applications (generally CLDC, MIDP, or MEEP). Additionally if
31 an application requires the use of libraries then all dependencies which are
32 not optional must be included.
34 SquirrelJME will try to look in the following locations:
36 * A directory called `lib` at the same path in the JAR file.
37 * A directory called `lib` in the current working directory.
39 ## Advanced Configuration
41 If desired, the virtual machine can be configured via system properties:
43 * `cc.squirreljme.vm.shadeactiveclass`
44 * The class to load resources from when accessing resources, this is for
45 virtual machines (such as Java ME) or certain `ClassLoader` setups can
46 only perform `Class.resourceAsStream()` within the same JAR.
47 * `cc.squirreljme.vm.shadeprefix`
48 * The prefix to append to all access of resources when looking for classes
50 * `cc.squirreljme.vm.shadeclasspath`
51 * The initialize class path to use for the initial boot program.
52 * `cc.squirreljme.vm.shademain`
53 * The main class of the starting program.
54 * `cc.squirreljme.vm.shadebootid`
55 * The main class or index of the MIDlet to enter.
56 * `cc.squirreljme.vm.name`
57 * The virtual machine to select, may be `springcoat` or `summercoat`.