ubuntu下,使用apt-get安装jdK后,系统默认配置的PATH在哪儿可以看到

最近开始学习用Linux做开发平台,在配环境的过程中,遇到了这个问题。
使用apt-get install后,环境自动被配置好了,但是我在找了/etc/profile和/etc/envir...都没有找到

现在要解决的问题是,我装了maven,但是在mvn -version时,会有一个警告说
没有配置JAVA_HOME,所以我想找找PATH的路径
(我可以单独配置JAVA_HOME)就是想了解一下apt-get到底会把PATH放到哪儿

echo $PATH 输出的结果没有JAVA的bin

我没表达清楚
想问的是,apt-get到底在哪儿配置PATH路径的

阅读 7.5k
4 个回答

echo $PATH

where javac
which javac

看看位置

  1. PATH和JAVA_HOME是两个没有任何关系的环境变量。

  2. Deb系的Java装在/usr/lib/jvm/......下

  3. 你在网上搜到的从官网下载Java并手工安装的教程里之所以需要自己调整PATH,是为了让java、javac等程序出现在PATH里这样可以在命令行下直接运行。Oracle官网的Java是为了让任何发行版都能以相同方式使用的,所以它的可执行程序就乖乖放在自己的路径里,不去“污染”已有的系统路径。

  4. 发行版自己打包的Java,会按照发行版自己的规范重新组织路径。比如Deb系的通过alternatives机制,在系统路径里建立符号链接,这里是一个Debian 7里的例子

    adoal@server:~/ > which java
    /usr/bin/java
    adoal@server:~/ > file /usr/bin/java
    /usr/bin/java: symbolic link to `/etc/alternatives/java'
    adoal@server:~/ > file /etc/alternatives/java
    /etc/alternatives/java: symbolic link to `/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
    

所以不需要在PATH里加入/usr/lib/jvm/java-7-openjdk-amd64/jre/bin就可以运行java命令了。并且可以同步安装多个Java版本,用update-alternative --config java来切换活动版本。

当然,对于依赖JAVA_HOME的软件来说,还是需要设置JAVA_HOME的。基本上就是设置成/usr/lib/jvm/......吧。

答主说的配置是指的是环境变量还是安装文件的路径?

我看问题描述有点像文件的安装路径,可以通过如下命令:

dpkg -L softwarename

要是变量的话,可以查看/etc/profile或者/etc/profile.d/*,/etc/bashrc等。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题