我使用apt-get install安装JDK,但我不知道我的JDK文件夹在哪里。我得为这事做准备。有人知道地点吗?
当前回答
update-java-alternatives -l
将告诉您哪个Java实现是您的系统的默认实现,以及它安装在文件系统中的哪个位置。查看手册了解更多选项。
其他回答
这个问题会被移开,但你可以做下面的事情
which javac
or
cd /
find . -name 'javac'
下面的命令在我的德班10盒工作!
root@debian:/home/arun# readlink -f $(which java)
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
简单,试试吧:
是/ usr / local / java / / jdk(版本)
这个问题似乎仍然相关,答案似乎是一个移动的目标。
在我的debian系统上(buster):
> update-java-alternatives -l
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
但是,如果您真的去看看那里,您将看到包系统在那里放置了多个目录和符号链接,以简化未来的维护。
实际目录是java-11-openjdk-amd64,带有default-java的另一个符号链接。还有一个openjdk-11目录,但它似乎只包含一个source.zip文件。
鉴于此,对于Debian ONLY,我猜最好的值是使用/usr/lib/jvm/default-java,因为这应该总是有效的,即使你决定安装一个完全不同的java版本,甚至更换供应商。
想要知道路径的正常原因是一些应用程序需要它,你可能不希望那个应用程序因为升级改变了版本号而崩溃。
使用find来定位它。它应该在/usr下面的某个地方:
find /usr -name java
在运行该命令时,如果有太多的“Permission denied”消息混淆了实际找到的结果,那么只需将stderr重定向到/dev/null
find /usr -name java 2> /dev/null
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Bash中检查变量是否存在于列表中
- 在Jar文件中运行类
- 带参数的可运行?
- 查看PS命令的全部输出
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?