我有02題:Java版本和路徑不匹配
1 - 我嘗試在我的Ubuntu 14.04運行Eclipse的霓虹燈,我得到這個錯誤
我想這個問題鏈接到java版本(Eclipse霓虹燈需要java 8)?
2 - 所以,檢查我的Java版本,採取什麼樣的,我得到
Java的版本
霓虹燈六/etc/profile.d/java.sh
這是我的問題,我設置java_home = java 8但是在PATH中它仍然是java 7 !!!,你在想什麼?我想Java的版本= java的8
感謝
我有02題:Java版本和路徑不匹配
1 - 我嘗試在我的Ubuntu 14.04運行Eclipse的霓虹燈,我得到這個錯誤
我想這個問題鏈接到java版本(Eclipse霓虹燈需要java 8)?
2 - 所以,檢查我的Java版本,採取什麼樣的,我得到
Java的版本
霓虹燈六/etc/profile.d/java.sh
這是我的問題,我設置java_home = java 8但是在PATH中它仍然是java 7 !!!,你在想什麼?我想Java的版本= java的8
感謝
看來你想要的java.sh會做:設置JAVA_HOME-和PATH環境變量。 你確定它啓動了,當你啓動java?你是否手動啓動它並測試它是否可行?
這是我的pbm,我設置java_home = java 8但是在PATH中它是java 7! –
要麼你沒有執行腳本: export PATH = $ JAVA_HOME/bin:$ PATH 從那時起,你的PATH變量至少應該有兩個,jdk7和jdk8-路徑(因爲你的PATH已經有了jdk7 - 它的路徑,它不會被截斷,如果你不自己做) 或者你沒有設置你的JAVA_HOME的權利。 嘗試手動設置PATH:取出當前PATH,刪除JDK7-Path並手動添加JDK8-Path。 – gsus
@zebiridjallil您運行的腳本可能會在腳本持續時間內覆蓋'JAVA_HOME'。 –
看起來在你的Path變量中,對Java 1.7的引用在Java 1.8之前給出。 當您運行java -version時,它會在Path變量中搜索bin目錄,一旦它獲取到引用,它就會返回該版本。嘗試從Path變量中刪除/opt/java/jdk1.7.0_21/bin,我相信它會在那之後起作用。 希望這個答案可以幫助你
我的路徑變量不包含java 1.7 這就是它:PATH =「/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin :/ usr/games:/ usr/local/games「 –
但是它的腳本改變了添加java 1.7的路徑,就像我的java_home添加a.8一樣,但是我不明白 –
我可以在最後一張圖中看到,你在哪裏做了「echo $ PATH」。路徑是/opt/java/jdk1.7。0_21 – yashpandey
當你運行這個腳本時,我猜想export cmd只會改變那個shell的PATH,你可能會從另一個shell運行eclipe。同時檢查eclipse版本的eclipse.ini文件。
嗯,這裏有很多事情要記住。
首先是...它不管你使用的是什麼java_home,它仍然會首先看你的路徑!你的路徑使用java7!您應該從路徑中移除java硬編碼,並使用路徑中的JAVA_HOME/bin。也許你在修改環境變量時切換用戶? 另外不要忘記在導出PATH之前導出JAVA_HOME!
第二個......你可能有一個全局java系統,但是想用其他的jre運行eclipse。在eclipse.ini中檢查你的-vm設置(通常在/etc/eclipse.ini中)
添加這個eclipse頂部。INI
-vm
/opt/java/jdk1.8.0_20/bin/java
From askubuntu(關於爲什麼PATH更新不工作)
有幾個地方,你可以定義
$PATH
:
/etc/environment
是一個純文本文件(不是腳本)影響所有 用戶~/.pam_environment
- 同樣的事情,但用戶特定的bash
也 執行ES一些腳本,可以用於修改$PATH
:
~/.profile
是登錄shell會話執行(不要問我這是什麼意思 :)
~/.bashrc
對於非登錄交互式shell執行 會議
/etc/profile
和/etc/bash.bashrc
是~/.profile
全系統 替代品和~/.bashrc
我在某處閱讀
/etc/environment
是定義您的$PATH
的推薦位置。所以我通常使用它 。但是您的路徑可能在其他 位置之一中修改。順便說一句,當你執行與
sudo
命令,我認爲它通常使用root
用戶的$ PATH(而不是你的非特權用戶 帳戶的$ PATH)。因此,〜/ .pam_environment,~/.profile
和~/.bashrc
在/root
目錄中也可能發揮作用。
我的路徑不包含Java硬編碼值,/ etc/environment =
閱讀關於PATH和用戶細節的信息。http://askubuntu.com/questions/409111/export-path-doesnt-work-correctly – MrSimpleMind
我的eclipse正在運行,之後我添加了 -vm /opt /java/jdk1.8.0_20/bin/java 現在沒問題,但是我已經在PATH/JAVA_HOME中獲得了版本msimatch問題 –
'/ opt/java/jdk1.8.0_20'確實存在嗎? –
yes ➜〜cd /opt/java/jdk1.8.0_20 ➜jdk1.8.0_20 –