diff --git a/scripts/bin/switch-java b/scripts/bin/switch-java index 6063337..f0d487a 100755 --- a/scripts/bin/switch-java +++ b/scripts/bin/switch-java @@ -1,11 +1,15 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 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 sys.platform == 'darwin': # macOS + jvm_dir = '/usr/local/opt' + else: # Linux + 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)) and 'jdk' in d] if not available_versions: print(f"Error: Java version {version} not found in {jvm_dir}") @@ -25,5 +29,5 @@ if __name__ == '__main__': 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}") + print(f"export JAVA_HOME='{java_home}'") + print(f"export PATH='{new_path}'")