[+] set-java command
This commit is contained in:
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env python
|
||||
import sys
|
||||
import os
|
||||
import argparse
|
||||
|
||||
def find_java_version(version):
|
||||
jvm_dir = '/usr/lib/jvm'
|
||||
available_versions = [d for d in os.listdir(jvm_dir) if version in d and os.path.isdir(os.path.join(jvm_dir, d))]
|
||||
|
||||
if not available_versions:
|
||||
print(f"Error: Java version {version} not found in {jvm_dir}")
|
||||
sys.exit(1)
|
||||
|
||||
return os.path.join(jvm_dir, available_versions[0])
|
||||
|
||||
if __name__ == '__main__':
|
||||
agupa = argparse.ArgumentParser(description='Switch between installed Java versions. Usage: eval $(switch-java <version>)')
|
||||
agupa.add_argument('version', help='Java version to switch to')
|
||||
|
||||
args = agupa.parse_args()
|
||||
version_path = find_java_version(args.version)
|
||||
|
||||
# Create eval script to set JAVA_HOME and update PATH
|
||||
java_home = version_path
|
||||
new_path = f"{version_path}/bin:{os.getenv('PATH')}"
|
||||
|
||||
# Output commands for `eval` to execute
|
||||
print(f"export JAVA_HOME={java_home}")
|
||||
print(f"export PATH={new_path}")
|
||||
Reference in New Issue
Block a user