最近开始学习用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路径的
天蓬老师2017-04-17 17:52:35
PATH和JAVA_HOME是两个没有任何关系的环境变量。
Deb系的Java装在/usr/lib/jvm/......下
你在网上搜到的从官网下载Java并手工安装的教程里之所以需要自己调整PATH,是为了让java、javac等程序出现在PATH里这样可以在命令行下直接运行。Oracle官网的Java是为了让任何发行版都能以相同方式使用的,所以它的可执行程序就乖乖放在自己的路径里,不去“污染”已有的系统路径。
发行版自己打包的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/......吧。
巴扎黑2017-04-17 17:52:35
答主说的配置是指的是环境变量还是安装文件的路径?
我看问题描述有点像文件的安装路径,可以通过如下命令:
dpkg -L softwarename
要是变量的话,可以查看/etc/profile或者/etc/profile.d/*,/etc/bashrc等。