{"id":18812824,"url":"https://github.com/shathor/jshellstandalone","last_synced_at":"2025-04-13T21:26:01.675Z","repository":{"id":78353327,"uuid":"99040773","full_name":"shathor/JShellStandalone","owner":"shathor","description":"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.","archived":false,"fork":false,"pushed_at":"2023-11-11T20:30:53.000Z","size":128350,"stargazers_count":40,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T11:43:38.489Z","etag":null,"topics":["java","jshell","jshell-repl","repl","standalone"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shathor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-01T20:31:17.000Z","updated_at":"2025-02-26T23:17:47.000Z","dependencies_parsed_at":"2023-11-11T21:35:21.716Z","dependency_job_id":null,"html_url":"https://github.com/shathor/JShellStandalone","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shathor%2FJShellStandalone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shathor%2FJShellStandalone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shathor%2FJShellStandalone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shathor%2FJShellStandalone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shathor","download_url":"https://codeload.github.com/shathor/JShellStandalone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248784146,"owners_count":21161064,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jshell","jshell-repl","repl","standalone"],"created_at":"2024-11-07T23:35:17.241Z","updated_at":"2025-04-13T21:26:01.653Z","avatar_url":"https://github.com/shathor.png","language":"Java","readme":"# JShell Standalone\nProvides 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.\n\nThis minimal version consists only of the modules necessary to run JShell: \"java.base\", \"jdk.zipfs\" and \"jdk.jshell\".\nHowever the user can manually provide any JDK or custom module on startup with `--add-module`.\n\nNote that the startup time of JShell 10 was significantly improved.\n\nCaveat: 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`\n\n## Download\n\nNote that the mostly \"General Availability\" JDK (x64) releases are used and not always the newest patch releases.\n\n### JDK 21.0.1+12\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 32.2 MB | OpenJDK | [JShell_jdk21.0.1.12_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-21.0.1%2B12/JShell_jdk21.0.1.12_windows.zip) |\n| Linux | 34.1 MB | OpenJDK | [JShell_jdk21.0.1.12_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-21.0.1%2B12/JShell_jdk21.0.1.12_linux.zip) |\n### JDK 20+36\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 29.3 MB | OpenJDK | [JShell_jdk20.36_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-20%2B36/JShell_jdk20.36_windows.zip) |\n| Linux | 30.9 MB | OpenJDK | [JShell_jdk20.36_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-20%2B36/JShell_jdk20.36_linux.zip) |\n### JDK 19.0.1+10\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 29.0 MB | OpenJDK | [JShell_jdk19.0.1.10_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-19.0.1%2B10/JShell_jdk19.0.1.10_windows.zip) |\n| Linux | 30.6 MB | OpenJDK | [JShell_jdk19.0.1.10_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-19.0.1%2B10/JShell_jdk19.0.1.10_linux.zip) |\n### JDK 18.0.2+9\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 27.8 MB | OpenJDK | [JShell_jdk18.0.2.9_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-18.0.2%2B9/JShell_jdk18.0.2.9_windows.zip) |\n| Linux | 29.3 MB | OpenJDK | [JShell_jdk18.0.2.9_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-18.0.2%2B9/JShell_jdk18.0.2.9_linux.zip) |\n### JDK 17.0.1+12\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 27.2 MB | OpenJDK | [JShell_jdk17.0.1.12_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-17.0.1%2B12/JShell_jdk17.0.1.12_windows.zip) |\n| Linux | 28.7 MB | OpenJDK | [JShell_jdk17.0.1.12_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-17.0.1%2B12/JShell_jdk17.0.1.12_linux.zip) |\n### JDK 16.0.1+9\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 26.5 MB | OpenJDK | [JShell_jdk16.0.1.9_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-16.0.1%2B9/JShell_jdk16.0.1.9_windows.zip) |\n| Linux | 28.1 MB | OpenJDK | [JShell_jdk16.0.1.9_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-16.0.1%2B9/JShell_jdk16.0.1.9_linux.zip) |\n### JDK 15+36\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 26.1 MB | OpenJDK | [JShell_jdk15.36_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-15%2B36/JShell_jdk15.36_windows.zip) |\n| Linux | 28.0 MB | OpenJDK | [JShell_jdk15.36_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-15%2B36/JShell_jdk15.36_linux.zip) |\n### JDK 14.0.1+7\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 29.5 MB | AdoptOpenJDK | [JShell_jdk14.0.1.7_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-14.0.1%2B7/JShell_jdk14.0.1.7_windows.zip) |\n| Linux | 27.6 MB | AdoptOpenJDK | [JShell_jdk14.0.1.7_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-14.0.1%2B7/JShell_jdk14.0.1.7_linux.zip) |\n### JDK 13.0.1+9\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 25.7 MB | AdoptOpenJDK | [JShell_jdk13.0.1.9_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-13.0.1%2B9/JShell_jdk13.0.1.9_windows.zip) |\n| Linux | 27.5 MB | AdoptOpenJDK | [JShell_jdk13.0.1.9_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-13.0.1%2B9/JShell_jdk13.0.1.9_linux.zip) |\n### JDK 12+33\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 25.6 MB | OpenJDK | [JShell_jdk12.33_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-12%2B33/JShell_jdk12.33_windows.zip) |\n| Linux | 28.0 MB | OpenJDK | [JShell_jdk12.33_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-12%2B33/JShell_jdk12.33_linux.zip) |\n### JDK 11+28\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 24.3 MB | OpenJDK | [JShell_jdk11.28_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-11%2B28/JShell_jdk11.28_windows.zip) |\n| Linux | 26.4 MB | OpenJDK | [JShell_jdk11.28_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-11%2B28/JShell_jdk11.28_linux.zip) |\n### JDK 10+46\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 23.6 MB | OracleJDK | [JShell_jdk10.46_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-10%2B46/JShell_jdk10.46_windows.zip) |\n| Linux | 26.2 MB | OpenJDK | [JShell_jdk10.46_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-10%2B46/JShell_jdk10.46_linux.zip) |\n### JDK 9+180\n\n| OS | Size | JDK | Download |\n| - | - | - | - |\n| Windows | 23.0 MB | OracleJDK | [JShell_jdk9.180_windows.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-9%2B180/JShell_jdk9.180_windows.zip) |\n| Linux | 25.4 MB | OpenJDK | [JShell_jdk9.180_linux.zip](https://github.com/shathor/JShellStandalone/releases/download/jdk-9%2B180/JShell_jdk9.180_linux.zip) |\n\n## Build\n\n### Windows\n\n* Checkout this repository. That directory will be referenced as \\\u003crepository-path\u003e\n* Install [Java JDK 9 or higher](http://jdk.java.net/)\n* Set environment variable %JAVA_HOME% to the Java installation directory. Replace \u003cversion\u003e with the installed version:\n\n  `set JAVA_HOME = C:\\PROGRA~1\\java\\jdk-\u003cversion\u003e`\n  \n* Add %JAVA_HOME% to the %PATH%, if it is not already:\n\n  `set PATH = \"%PATH%;%JAVA_HOME%\\bin\"`\n* Open the command line\n* Check if Java is accessible with `java -version`\n* Change directory to \\\u003crepository-path\u003e\n* Compile the project to \\\u003crepository-path\u003e/mods/com.standalone.jshell:\n\n  `javac -d ./mods/com.standalone.jshell ./src/com.standalone.jshell/module-info.java ./src/com.standalone.jshell/com/standalone/jshell/JShellStandalone.java`\n  \n  If successful, the compiled files can be found in \\\u003crepository-path\u003e/mods.\n  JShellStandalone.java is only used to have something to compile.\n  More importantly the module-info.java contains dependencies on \"jdk.zipfs\" and jdk.jshell\".\n* Bundle the Java runtime (**semicolon** as path separator):\n\n  `jlink --module-path \"%JAVA_HOME%/jmods;./mods\" --add-modules com.standalone.jshell --output ./target --compress zip-9 --strip-debug --no-header-files --no-man-pages`\n  \n  If successful, the binaries can be found in \\\u003crepository-path\u003e/target/bin.\n  \n* Run \\\u003crepository-path\u003e/target/bin/jshell.exe\n\n### Linux\n\n* Checkout this repository. That directory will be referenced as \\\u003crepository-path\u003e\n* binutils need to be installed for objcopy\n* Install [Java 9 or higher](http://jdk.java.net/). E.g. [How to manually install Java on Ubuntu](https://thishosting.rocks/install-java-ubuntu/#manually).\n* Set the installed Java to default, check with `java -version`\n* In the terminal, change directory to \\\u003crepository-path\u003e\n* Compile the project to \\\u003crepository-path\u003e/mods/com.standalone.jshell:\n\n  `javac -d ./mods/com.standalone.jshell ./src/com.standalone.jshell/module-info.java ./src/com.standalone.jshell/com/standalone/jshell/JShellStandalone.java`\n  \n  If successful, the compiled files can be found in \\\u003crepository-path\u003e/mods.\n  JShellStandalone.java is only used to have something to compile.\n  More importantly the module-info.java contains dependencies on \"jdk.zipfs\" and jdk.jshell\".\n* Bundle the Java runtime (**colon** as path separator):\n\n  `jlink --module-path $JAVA_HOME/jmods:./mods --add-modules com.standalone.jshell --output ./target --compress zip-9 --strip-java-debug-attributes --no-header-files --no-man-pages`\n  \n  If successful, the binaries can be found in \\\u003crepository-path\u003e/target/bin.\n  \n* Run jshell in \\\u003crepository-path\u003e/target/bin/\n  \n  \n  \n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshathor%2Fjshellstandalone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshathor%2Fjshellstandalone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshathor%2Fjshellstandalone/lists"}