我使用apt-get install安装JDK,但我不知道我的JDK文件夹在哪里。我得为这事做准备。有人知道地点吗?
当前回答
在Linux Fedora30上有几个完整的java JDK版本,特别是包名:
java-1.8.0-openjdk-devel.x86_64
java-11-openjdk-devel.x86_64
安装完成后,可以在:/usr/lib/jvm中找到它们
要选择完整开发JDK的位置/目录(它不同于简单的仅运行时JRE),请查找以下条目:
ls -ld java*openjdk*
这里有两个不错的选择,它们是特定版本的链接,你必须在那里选择版本:
/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk
其他回答
使用find来定位它。它应该在/usr下面的某个地方:
find /usr -name java
在运行该命令时,如果有太多的“Permission denied”消息混淆了实际找到的结果,那么只需将stderr重定向到/dev/null
find /usr -name java 2> /dev/null
这个问题似乎仍然相关,答案似乎是一个移动的目标。
在我的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版本,甚至更换供应商。
想要知道路径的正常原因是一些应用程序需要它,你可能不希望那个应用程序因为升级改变了版本号而崩溃。
$ which java
应该给你什么
/usr/bin/java
这个问题会被移开,但你可以做下面的事情
which javac
or
cd /
find . -name 'javac'
这取决于你的包装系统。如果Java命令有效,您可以输入readlink -f $(哪个Java)来查找Java命令的位置。在我现在使用的OpenSUSE系统上,它返回/usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java(但这不是一个使用apt-get的系统)。
在Ubuntu上,对于OpenJDK,它看起来在/usr/lib/jvm/java-6- OpenJDK /,而对于Suns JDK(以及其他实现),它在/usr/lib/jvm/的其他子目录中。
Debian也是一样。
对于任何给定的包,您都可以通过查询dpkg来确定它安装什么文件以及安装它们的位置。例如,对于'openjdk-6-jdk'包:dpkg -L openjdk-6-jdk
推荐文章
- 使用Jackson将JSON字符串转换为漂亮的打印JSON输出
- Android - SPAN_EXCLUSIVE_EXCLUSIVE跨度不能为零长度
- 使用sudo时未找到命令
- Javadoc @see或{@link}?
- 当有命令行参数时,如何使用GDB分析程序的核心转储文件?
- 在准备语句中使用“like”通配符
- Android Eclipse -无法找到*.apk
- javac和Eclipse编译器之间的区别是什么?
- 工厂模式和策略模式之间的区别是什么?
- 在Java中使用正则表达式提取值
- 如何允许所有网络连接类型HTTP和HTTPS在Android(9)馅饼?
- 如何强制从另一个SSH会话分离屏幕?
- Intellij IDEA Java类在保存时不能自动编译
- 何时使用Mockito.verify()?
- 在maven中安装mvn到底做什么