最近开始学习用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等。