Select your JDK anywhere, anytime by single or two commands

Related tags

Parsing JDK-Selector
Overview

JDK-Selector

Select your JDK anywhere, anytime by single or two commands

This library provides you opportunity to change JDK version instantly by some commands.

Simple usage

  1. Install JDK-Selector
  2. (Re)open terminal
  3. Type jdk_selector_cli add name path
    i.e jdk_selector_cli add "JDK 1.8" "C:\Program Files\Java\jdk1.8.0_321"
    
  4. Type jdk_selector_cli use name
    i.e jdk_selector_cli use "JDK 1.8"
    
  5. Done!

For details, please see jdk_selector_cli (help)

Build steps

  1. Install rustup https://rustup.rs/
  2. Clone this source
    git clone https://github.com/Seungwoo-Yu/JDK-Selector
    
  3. Run cargo update in order to download dependencies
    cargo update
    
  4. Build source
    cargo run --bin jdk_selector_builder
    
  5. Check out .build folder in the source root!

Manual installation

  1. Copy files into anywhere you want
  2. Set JAVA_HOME Environment Variable to where you copy
    1. for Windows, See https://learn.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ee537574(v=office.14)#to-add-a-path-to-the-path-environment-variable
    2. for most Unix systems, See https://unix.stackexchange.com/a/26059 and keep in mind the sentence below,
    Put the line to modify PATH in ~/.profile, or in ~/.bash_profile or if that's what you have. (If your login shell is zsh and not bash, put it in ~/.zprofile instead.)
    
  3. Append PATH Environment Variable with this
    %JAVA_HOME% // bin MUST be excluded!
    
  4. Reopen terminal to affect changes
  5. Type this to check if it's installed successfully!
    jdk_selector_cli help
    

Create installer

for Windows

  1. Install Inno setup 6
  2. Open the program and jdk_selector_installer/windows/setup.iss
  3. Compile it!
  4. Check out Output folder in jdk_selector_installer/windows/Output

TO-DOs

  1. Create draft source written in rust
  2. Create cross-platform builder in Rust
  3. Create Native installers for Windows
  4. Create CI/CD for distribution for Windows
  5. Check availability on macOS and Linux distributions (Tested on Windows 10 only at this moment)
  6. Create Native installers and CI/CD for distribution for macOS/Linux
  7. Create Unit test for better refactoring
  8. Create document for welcomed PRs in future
  9. Add missing executors for other Java versions (Verified on Java 8 and 17)
You might also like...
Cloudflare worker for embedding polls anywhere.

poll.fizzy.wtf Cloudflare worker for embedding polls anywhere. ๐Ÿ• Pineapple on pizza? ๐Ÿ Yes ๐Ÿ‘ No ๐Ÿ‘Ž Total Features Unlimited polls and unlimited opt

A command-line tool and Docker image to automatically backup Git repositories from GitHub or anywhere

A command-line tool and Docker image to automatically backup Git repositories from GitHub or anywhere

job control from anywhere!

job-security - job control from anywhere! job-security is a tool that lets you put your running programs into background, then bring them to the foreg

A little application that makes it possible to display mpv's subs anywhere you want.

Mpv Subs Popout A little application that makes it possible to display mpv's subs anywhere you want. Why? You can now watch shows in foreign languages

Single-reader, multi-writer & single-reader, multi-verifier; broadcasts reads to multiple writeable destinations in parallel

Bus Writer This Rust crate provides a generic single-reader, multi-writer, with support for callbacks for monitoring progress. It also provides a gene

A single-producer single-consumer Rust queue with smart batching

Batching Queue A library that implements smart batching between a producer and a consumer. In other words, a single-producer single-consumer queue tha

Handoff is an unbuffered, single-producer / single-consumer, async channel

handoff handoff is a single-producer / single-consumer, unbuffered, asynchronous channel. It's intended for cases where you want blocking communicatio

๐Ÿข Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands
๐Ÿข Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands

Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.

:stars: Manage your shell commands.
:stars: Manage your shell commands.

Pueue Pueue is a command-line task management tool for sequential and parallel execution of long-running tasks. Simply put, it's a tool that processes

A mansplainer for man commands, cheeky and rude, use at your own risk

mansplain mansplain is a Command-Line Interface (CLI) tool built in Rust that mansplains a command to you Prerequisites Rust and Cargo installed An Op

TUI (Text User Interface) - Get Instant feedback for your sh commands
TUI (Text User Interface) - Get Instant feedback for your sh commands

Bashtastic Visualizer TUI (Text User Interface) - Get Instant feedback for your sh commands. Explore and play with your queries ๐Ÿš€. The idea of this p

Parity-Bridge โ€” Bridge between any two ethereum-based networks

Deprecated Bridges This repo is deprecated. Originally it contained the ETH ETH-PoA bridge (see tumski tag). Later it was repurposed for ETH-PoA

A Trig-less Line of Sight Algorithm in Two Dimensions

In many examples of 2D line-of-sight algorithms, expensive operations like trigonometry are used. Additionally, some methods have intentional inaccuracies in them for the sake of simplicity. Here, we give an algorithm which does not fudge the numbers, and uses only basic arithmetic: addition, subtraction, multiplication, and division. This is not intended to replace the existing algorithms, or even be more efficient in practice.

Get a diff between two OpenAPI descriptions.

Get the difference between two OpenAPI descriptions.

The tool to make svg with triangles by length from two points.

The tool to make svg with triangles by length from two points.

Provides two APIs for easily cancelling futures, with the option to fallback to a timeout cancellation

tokio-context Provides two different methods for cancelling futures with a provided handle for cancelling all related futures, with a fallback timeout

Explore the WWW and find the shortest path between two HTML documents

explore Find shortest path between two web resources. About I decided to create this project because some day I started to wonder: In how many clicks

Pool is a befunge inspired, two-dimensional esolang

Pool is a befunge inspired, two-dimensional esolang

Compute a pairwise SNP distance matrix from one or two alignment(s)
Compute a pairwise SNP distance matrix from one or two alignment(s)

Compute a pairwise SNP distance matrix from one or two alignment(s) Table of Contents Motivation Install cargo conda Precompiled binaries homebrew Con

Owner
Android / Web full-stack developer https://gitlab.com/Seungwoo-Yu
null
Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.

Workflows The repo for all public Workflows that appear within Warp and within commands.dev. To learn how to create local or repository workflows, see

Warp 369 Jan 2, 2023
Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.

Workflows The repo for all public Workflows that appear within Warp and within commands.dev. To learn how to create local or repository workflows, see

Warp 227 Jun 1, 2022
A POSIX select I/O Multiplexing Rust library.

A POSIX select I/O Multiplexing Rust library.

b23r0 4 Jul 6, 2022
A lightweight Rust library for BitVector Rank&Select operations, coupled with a generic Sparse Array implementation

A lightweight Rust library for BitVector Rank&Select operations, coupled with a generic Sparse Array implementation

Alperen KeleลŸ 5 Jun 20, 2022
Select any exported function in a dll as the new dll's entry point.

Description This tool will patch the entry point of the input dll and replace it with the RVA of another exported function in that same dll. This allo

Kurosh Dabbagh Escalante 43 Jun 7, 2023
Tool to help you select inputs for making bitcoin transactions.

BDK Coin Selection bdk_coin_select is a tool to help you select inputs for making Bitcoin (ticker: BTC) transactions. It's got zero dependencies so yo

Bitcoin Dev Kit 5 Dec 5, 2023
Utility that takes logs from anywhere and sends them to Telegram.

logram Utility that takes logs from anywhere and sends them to Telegram. Supports log collection from files, journald and docker containers. More abou

Max Eliseev 85 Dec 22, 2022
The write-once-run-anywhere GPGPU library for Rust

The old version of Emu (which used macros) is here. Overview Emu is a GPGPU library for Rust with a focus on portability, modularity, and performance.

Caleb Winston 1.5k Dec 30, 2022
A dependency-free chess engine library built to run anywhere.

โ™”chess-engineโ™š A dependency-free chess engine library built to run anywhere. Demo | Docs | Contact Me Written in Rust ?? ?? Why write a Chess engine?

adam mcdaniel 355 Dec 26, 2022
๐Ÿš€Wasmer is a fast and secure WebAssembly runtime that enables super lightweight containers to run anywhere

Wasmer is a fast and secure WebAssembly runtime that enables super lightweight containers to run anywhere: from Desktop to the Cloud, Edge and IoT devices.

Wasmer 14.1k Jan 8, 2023