Linux

如何在沒有 root 訪問權限的情況下設置路徑變數?

  • July 21, 2016

我的大學目前使用一個非常舊的(比如 3 歲)openJDK 1.7 發行版。作為一名學生,顯然我沒有root權限。我想使用更新的版本,因為我的一個應用程序(solr)需要它,所以從他們的官方網站下載了更新的版本。

我下載了 JRE 1.8 並使用檢查了解釋器

saikrishnac@chervil:~/jre18/bin$ ./java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
saikrishnac@chervil:~/jre18/bin$ 

結果和預期的一樣。現在我想將應用程序發出的所有 java 呼叫定向到這個 bin。但是,預設情況下,這就是大學所執行的

saikrishnac@chervil:~$ java -version
java version "1.7.0_91"
OpenJDK Runtime Environment (IcedTea 2.6.3) (7u91-2.6.3-1~deb8u1)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)
saikrishnac@chervil:~$ 

所以,我猜我需要JAVA_PATH更改/etc/profie. 但我只有隻讀訪問權限,因此我無法添加以下內容。

export JAVA_HOME="path"
export PATH=$JAVA_HOME/bin:$PATH

以上建議在:https ://stackoverflow.com/questions/24641536/how-to-set-java-home-in-linux-for-all-users

概括

那麼,是否有任何解決方法可以僅更改我的使用者帳戶的路徑。我的意思是,當我在我的帳戶中執行 java 時,我希望它使用 jre18 二進製文件執行。

您提供的指南告訴您如何為所有使用者全域設置這些變數。由於您只想為自己設置這些,因此您應該將它們放在~~~/.bashrc~~EDIT 中:正如 Gilles 在下面的評論中指出的那樣,.bashrc用於互動式設置,在某些情況下很少會出錯。相反,您應該將它們放入.profile.

引用自:https://unix.stackexchange.com/questions/297114