All Projects → shathor → JShellStandalone

shathor / JShellStandalone

Licence: MIT license
Provides a standalone version of the JShell REPL. Anything needed to run JShell independently is contained, so there is no need to install the full JDK. A minimal Java runtime is embedded and compressed using the jlink tool.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to JShellStandalone

java-sheets
☕ Run Java Snippets in your Browser
Stars: ✭ 19 (-47.22%)
Mutual labels:  repl, jshell
jsxt
The collection of Javascript / JScript / VBScript extensions, tools and more
Stars: ✭ 23 (-36.11%)
Mutual labels:  repl, standalone
d3-fdg-svelte
d3 Force Directed Graph example (d3-force) implemented in sveltejs. REPL:
Stars: ✭ 31 (-13.89%)
Mutual labels:  repl
EscherConverter
A standalone program that reads files created with the graphical network editor Escher and converts them to files in community standard formats.
Stars: ✭ 14 (-61.11%)
Mutual labels:  standalone
hmac-sha1
Standalone implementation of `HMAC()` + `EVP_sha1()` in `OpenSSL`
Stars: ✭ 40 (+11.11%)
Mutual labels:  standalone
d2launcher
Diablo II • Median XL • Mod Launcher for Linux
Stars: ✭ 20 (-44.44%)
Mutual labels:  standalone
analytics-js-without-segment
A toolset to use Segments open-source analytics library (analytics.js) WITHOUT using the paid Segment service (segment.com). To be used with your favorite analytics-tools like Google Analytics, Mixpanel, Hotjar, etc.
Stars: ✭ 47 (+30.56%)
Mutual labels:  standalone
integrant-repl
Reloaded workflow functions for Integrant
Stars: ✭ 115 (+219.44%)
Mutual labels:  repl
attaching jshell
Attach Java 9's JShell to already-running virtual machine
Stars: ✭ 27 (-25%)
Mutual labels:  jshell
quac
Quoine Exchange API Console
Stars: ✭ 14 (-61.11%)
Mutual labels:  repl
all-seeing-bot
Repl.it discord moderation bot
Stars: ✭ 73 (+102.78%)
Mutual labels:  repl
robotframework-debuglibrary
A debug library for RobotFramework, which can be used as an interactive shell(REPL) also.
Stars: ✭ 96 (+166.67%)
Mutual labels:  repl
Nota
A calculator with a beautiful interface for the Terminal, Including unicode-based charting and rich mathematical notation rendering
Stars: ✭ 45 (+25%)
Mutual labels:  repl
composer-repl
A REPL for PHP built into Composer (using PsySH)
Stars: ✭ 81 (+125%)
Mutual labels:  repl
WhatsappWeb4j
Standalone fully-featured Whatsapp Multi Device Web API for Java and Kotlin
Stars: ✭ 198 (+450%)
Mutual labels:  standalone
klisp
A Lisp written in about 200 lines of Ink, featuring an interactive literate programming notebook
Stars: ✭ 28 (-22.22%)
Mutual labels:  repl
tinker-zero
Bridge laravel/tinker for your laravel-zero applications
Stars: ✭ 39 (+8.33%)
Mutual labels:  repl
NeoConsole
NeoConsole offers a command line (REPL) interface to a Pharo image, as well as other tools.
Stars: ✭ 22 (-38.89%)
Mutual labels:  repl
react-declarative
A React form builder which interacts with a JSON endpoint to generate nested 12-column grids with input fields and automatic state management in a declarative style. Endpoint is typed by TypeScript guards (IntelliSense available). This tool is based on material-ui components, so your application will look beautiful on any device...
Stars: ✭ 17 (-52.78%)
Mutual labels:  standalone
scope-capture-nrepl
nREPL middleware for scope-capture
Stars: ✭ 27 (-25%)
Mutual labels:  repl

JShell Standalone

Provides a standalone version of the JShell REPL. Anything needed to run JShell independently is contained, so there is no need to install the full JDK. A minimal Java runtime is embedded and compressed using the jlink tool.

This minimal version consists only of the modules necessary to run JShell: "java.base", "jdk.zipfs" and "jdk.jshell". However the user can manually provide any JDK or custom module on startup with --add-module.

Note that the startup time of JShell 10 was significantly improved.

Caveat: The default JShell editor is not available. An editor can be set in JShell e.g. with /set editor C:/Program Files (x86)/Notepad++/notepad++.exe

Download

Note that the "General Availability" JDK releases are used and not always the newest patch releases.

JDK 17.0.1+12

OS Size JDK Download
Windows 27.2 MB OpenJDK JShell_jdk17.0.1.12_windows.zip
Linux 28.7 MB OpenJDK JShell_jdk17.0.1.12_linux.zip

JDK 16.0.1+9

OS Size JDK Download
Windows 26.5 MB OpenJDK JShell_jdk16.0.1.9_windows.zip
Linux 28.1 MB OpenJDK JShell_jdk16.0.1.9_linux.zip

JDK 15+36

OS Size JDK Download
Windows 26.1 MB OpenJDK JShell_jdk15.36_windows.zip
Linux 28.0 MB OpenJDK JShell_jdk15.36_linux.zip

JDK 14.0.1+7

OS Size JDK Download
Windows 29.5 MB AdoptOpenJDK JShell_jdk14.0.1.7_windows.zip
Linux 27.6 MB AdoptOpenJDK JShell_jdk14.0.1.7_linux.zip

JDK 13.0.1+9

OS Size JDK Download
Windows 25.7 MB AdoptOpenJDK JShell_jdk13.0.1.9_windows.zip
Linux 27.5 MB AdoptOpenJDK JShell_jdk13.0.1.9_linux.zip

JDK 12+33

OS Size JDK Download
Windows 25.6 MB OpenJDK JShell_jdk12.33_windows.zip
Linux 28.0 MB OpenJDK JShell_jdk12.33_linux.zip

JDK 11+28

OS Size JDK Download
Windows 24.3 MB OpenJDK JShell_jdk11.28_windows.zip
Linux 26.4 MB OpenJDK JShell_jdk11.28_linux.zip

JDK 10+46

OS Size JDK Download
Windows 23.6 MB OracleJDK JShell_jdk10.46_windows.zip
Linux 26.2 MB OpenJDK JShell_jdk10.46_linux.zip

JDK 9+180

OS Size JDK Download
Windows 23.0 MB OracleJDK JShell_jdk9.180_windows.zip
Linux 25.4 MB OpenJDK JShell_jdk9.180_linux.zip

Build

Windows

  • Checkout this repository. That directory will be referenced as <repository-path>

  • Install Java JDK 9 or higher

  • Set environment variable %JAVA_HOME% to the Java installation directory. Replace with the installed version:

    set JAVA_HOME = C:\PROGRA~1\java\jdk-<version>

  • Add %JAVA_HOME% to the %PATH%, if it is not already:

    set PATH = "%PATH%;%JAVA_HOME%\bin"

  • Open the command line

  • Check if Java is accessible with java -version

  • Change directory to <repository-path>

  • Compile the project to <repository-path>/mods/com.standalone.jshell:

    javac -d ./mods/com.standalone.jshell ./src/com.standalone.jshell/module-info.java ./src/com.standalone.jshell/com/standalone/jshell/JShellStandalone.java

    If successful, the compiled files can be found in <repository-path>/mods. JShellStandalone.java is only used to have something to compile. More importantly the module-info.java contains dependencies on "jdk.zipfs" and jdk.jshell".

  • Bundle the Java runtime (semicolon as path separator):

    jlink --module-path "%JAVA_HOME%/jmods;./mods" --add-modules com.standalone.jshell --output ./target --compress 2 --strip-debug --no-header-files --no-man-pages

    If successful, the binaries can be found in <repository-path>/target/bin.

  • Run <repository-path>/target/bin/jshell.exe

Linux

  • Checkout this repository. That directory will be referenced as <repository-path>

  • binutils need to be installed for objcopy

  • Install Java 9 or higher. E.g. How to manually install Java on Ubuntu.

  • Set the installed Java to default, check with java -version

  • In the terminal, change directory to <repository-path>

  • Compile the project to <repository-path>/mods/com.standalone.jshell:

    javac -d ./mods/com.standalone.jshell ./src/com.standalone.jshell/module-info.java ./src/com.standalone.jshell/com/standalone/jshell/JShellStandalone.java

    If successful, the compiled files can be found in <repository-path>/mods. JShellStandalone.java is only used to have something to compile. More importantly the module-info.java contains dependencies on "jdk.zipfs" and jdk.jshell".

  • Bundle the Java runtime (colon as path separator):

    jlink --module-path $JAVA_HOME/jmods:./mods --add-modules com.standalone.jshell --output ./target --compress 2 --strip-java-debug-attributes --no-header-files --no-man-pages

    If successful, the binaries can be found in <repository-path>/target/bin.

  • Run jshell in <repository-path>/target/bin/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].