[F] Fix switch-java on macos
This commit is contained in:
@@ -1,11 +1,15 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python3
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
def find_java_version(version):
|
def find_java_version(version):
|
||||||
jvm_dir = '/usr/lib/jvm'
|
if sys.platform == 'darwin': # macOS
|
||||||
available_versions = [d for d in os.listdir(jvm_dir) if version in d and os.path.isdir(os.path.join(jvm_dir, d))]
|
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:
|
if not available_versions:
|
||||||
print(f"Error: Java version {version} not found in {jvm_dir}")
|
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')}"
|
new_path = f"{version_path}/bin:{os.getenv('PATH')}"
|
||||||
|
|
||||||
# Output commands for `eval` to execute
|
# Output commands for `eval` to execute
|
||||||
print(f"export JAVA_HOME={java_home}")
|
print(f"export JAVA_HOME='{java_home}'")
|
||||||
print(f"export PATH={new_path}")
|
print(f"export PATH='{new_path}'")
|
||||||
|
|||||||
Reference in New Issue
Block a user