1. 程式人生 > >shell配置java環境變數和批處理配置環境變數

shell配置java環境變數和批處理配置環境變數

linux配置java環境只需在/etc/profile中新增以下

前提是把jdk解壓到/usr/local路徑,當然路徑可以隨便改

export JAVA_HOME=/usr/local/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_BIN
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


新增完畢後,執行
source /etc/profile
重新執行,使配置生效

以下是配置java環境的shell和window上的批處理

執行shell的前提是,shell必須跟jdk在同一目錄下

1、shell裡面配置的環境變數,並且export變數,則新建每一個shell都能利用這些變數。(環境變數定義在/etc/profile中,則每次開機後,環境變數都export一次,即可用於系統任意地方)

在shell指令碼程式中定義了一個變數,當該指令碼程式執行時,這個定義的變數只是該指令碼程式內的一個區域性變數,其他的shell不能引用它,要使某個變數的值可以在其他shell中被改變,可以使用export命令對已定義的變數進行輸出。export命令將使系統在建立每一個新的shell時定義這個變數的一個拷貝。這個過程稱之為變數輸出。

#!/bin/bash
#java environment variables

Base_Path=$(cd `dirname $0`; pwd)
echo $Base_Path

JAVA_HOME=$Base_Path/jdk1.8.0_131
echo $JAVA_HOME

JAVA_BIN=$Base_Path/jdk1.8.0_131/bin
echo $JAVA_BIN

PATH=$PATH:$JAVA_BIN
echo $PATH

CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
echo $CLASSPATH

#cancel LD_LIBRARY_PATH define
#LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Base_Path/lib
#echo $LD_LIBRARY_PATH

#write java environment variables to /etc/profile  if not exist
grep -q "export JAVA_HOME" /etc/profile
if [ $? -ne 0 ]; then
    echo "java environment variables not exist,starting define it"
    echo "export JAVA_HOME="$JAVA_HOME>>/etc/profile
    echo "export JAVA_BIN="$JAVA_BIN>>/etc/profile
    echo "export PATH=\$PATH:\$JAVA_BIN">>/etc/profile
    echo "export CLASSPATH="\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar>>/etc/profile
    #echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$Base_Path/lib">>/etc/profile
fi
echo "Config Java Environment Variables Success"

#compile file
source /etc/profile

#copy lib .so file to /usr/lib
for file in $Base_Path/lib/*
do
        #echo $file
        if test -f $file && [ "${file##*.}" = "so" ];
        then
                echo "copy:"$file
                cp $file /usr/lib 
        fi
done
echo "Config .so File Success"
#compile .so file
ldconfig


#copy config.ini file
if [ ! -f "/usr/local/config.ini" ]; 
then
cp $Base_Path/lib/config.ini /usr/local
echo "cp success"
fi

echo "Config Success"


2、批處理配置環境變數是永久的(必須支援setx   目前win7以上才有setx語句)

@echo off
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set basepath=%~dp0
echo 當前路徑 %basepath%
set javahome=%basepath%jdk1.8.0_131
echo javahome %javahome%
set javalib=%basepath%lib
echo javalib %javalib%

rem LPY
echo.
echo ************************************************************
echo *                                                          *
echo *                   JDK 系統環境變數設定                   *
echo *                                                          *
echo ************************************************************
echo.
echo === 準備設定環境變數: JAVA_HOME=%javahome%
echo === 注意: 如果JAVA_HOME存在,會被覆蓋,此操作不可逆的,請仔細檢查確認!! ===
echo.
echo === 準備設定環境變數: classPath=%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;.
echo === 注意: 如果classPath存在,會被覆蓋,此操作不可逆的,請仔細檢查確認!! ===
echo.
echo === 準備設定環境變數: PATH=%%JAVA_HOME%%\bin
echo === 注意: PATH會追加在最後面,
echo.
set /P EN=請確認後按 回車鍵 開始設定!
echo.
echo.
echo.
echo.

rem 1:設定JAVA_HOME
echo === 新建立環境變數 JAVA_HOME=%javahome%
setx "JAVA_HOME" %javahome% -m
echo JAVA_HOME %JAVA_HOME%
echo.


rem 2:設定classPath
echo === 新建立環境變數 classPath=.;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar
setx "classPath" ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" -m
echo classPath %classPath%
echo.


rem 3:設定 CATALINA_HOME
rem echo == 新建立環境變數 CATALINA_HOME
rem setx "CATALINA_HOME" "%basepath%apache-tomcat-8.0.44" -m


rem 4:設定path
echo === 新追加環境變數 PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;
echo === 判斷是否已設定path
rem findstr 查詢path是否存在字串
echo %path% | findstr /c:"%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%javalib%"  
if errorlevel 1 (
rem 找不到
echo ===path未設定環境變數,追加環境變數
setx path "%path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%javalib%" -m
) else (
rem 找到
echo ===path已設定環境變數,跳過設定
)
echo %path%


rem 建立資料夾
if not exist C:\Windows\VM md C:\Windows\VM
rem 複製配置
if not exist C:\Windows\VM\config.ini copy %javalib%\config.ini C:\Windows\VM\

rem 執行驅動安裝
%basepath%HASPUserSetup\HASPUserSetup.exe

echo 環境配置完畢

echo.
rem LPY Zeus http://write.blog.csdn.net/postedit/9822439
echo === 請按任意鍵退出! 
pause>nul