Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

采用新的跨平台java搜索办法(针对mac和Linux包管理器) #47

Open
HainanWinter-l opened this issue Feb 15, 2023 · 1 comment
Assignees
Labels
建议 帮助我们改进

Comments

@HainanWinter-l
Copy link
Contributor

建议描述

原理

提供一个我的实现,参考参考,直接改了拿过来用也行

Linux平台

使用包管理器安装JDK后,会在/usr/lib/jvm/usr/lib64/jvm路径下生成文件。即/usr/lib/jvm/一个JDK/bin/java/usr/lib64/jvm/一个JDK/bin/java为java路径。此外,若存在/usr/lib/jvm/一个JDK/release/usr/lib64/一个JDK/release文件,也可以通过读取改文件中的JAVA_VERSION="版本"来获取java版本。若不存在也可以使用java -version来获得版本。使用Process读取时注意,应该使用.StandardError.ReadToEnd(),若使用.StandardOutput.ReadToEnd()可能会返回空串
此外,因为各个发行版提供了不同的默认Java选择方法,/usr/lib/jvm/usr/lib64/jvm路径下可能存在软连接文件夹,造成重复选择。

关于软链接,参考以下

#arch linux
ls /usr/lib/jvm/ -al
总计 92
drwxr-xr-x  5 root root  4096  2月 6日 11:34 ./
drwxr-xr-x 82 root root 73728  2月 6日 11:32 ../
lrwxrwxrwx  1 root root    15 2022年 6月28日 default -> java-18-openjdk/
lrwxrwxrwx  1 root root    15 2022年 6月28日 default-runtime -> java-18-openjdk/
drwxr-xr-x  7 root root  4096 2022年 6月10日 java-18-openjdk/
drwxr-xr-x  6 root root  4096  2月 6日 11:34 java-19-jdk/
drwxr-xr-x  6 root root  4096 2022年 5月 5日 java-8-openjdk/

macOS平台

从甲骨文官网下载JDK后双击安装后会在/Library/Java/JavaVirtualMachines/路径下生成文件。即/Library/Java/JavaVirtualMachines/一个JDK/Contents/Home/bin/java,release则是在/Library/Java/JavaVirtualMachines/一个JDK/Contents/Home/release

操作系统版本

Linux

WonderLab版本

1.0.1.6

补充信息

No response

@hei-shou
Copy link
Collaborator

@JWJUN233233 JWJUN233233 added the 建议 帮助我们改进 label Mar 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
建议 帮助我们改进
Projects
None yet
Development

No branches or pull requests

3 participants