java環境變數腳本
Ⅰ java怎麼設置環境變數
第一步:先選擇一個JDK版本(本文以:jdk1.7.0_51為例),雙擊安裝。[安裝過程:文件夾名稱(盡量不要選擇在C盤,不要有中文和空格;接下來依次點擊下一步;出現了JRE安裝下一步就點取消按鈕,最後關閉.JDK安裝成功)](ujiuye)
第二步:配置環境變數[計算機右鍵屬性——高級系統設置——環境變數——系統變數——新建(變數名:java_home變數值:就是之前安裝的地址C:\Java\jdk1.7.0_51)接下里找到path(變數值裡面加入:%java_home%\bin;)];
第三步:檢查是否配置好[附件——命令提示符 。輸入 Java –version顯示版本號,或者Java/javac]。
Ⅱ 如何bat 一鍵設置java環境變數
setxPATH"%PATH%;XX:xxxxx"
後邊的xxx區域放jdk安裝目錄,也就是Java要配置的環境
Ⅲ 如何在java程序設置環境變數
在java程序設置環境變數:
String path = System.getProperty("java.library.path");
path = path+"你要添加的路徑";
System.setProperty("java.library.path",path);
問題補充:當在一個運行進程中設置環境變數,只可以運用於當前進程,所以。。謝謝。從網上搜到可以使用jna,調用 本地方法的方式 實現。因為c/c++實現了setenv()方法
小卓SUN 寫道
自己寫個batch文件,直接runtime調用啊
runtime.exec(xxx.bat, "路徑")
Ⅳ 怎麼搭建JAVA運行環境變數
java_home C:\Program Files\Java\jDK1.7.0
path C:\Program Files\Java\jDK1.7.0\bin
classpath C:\Program Files\Java\jDK1.7.0\lib\tools.jar; C:\Program Files\Java\jDK1.7.0\lib\dt.jar;
確認你安裝的目錄和上面一樣,然後你右擊我的電腦--屬性,--環境變數配置(win7是設置高級屬性)然後配置3個變數即可
Ⅳ java 環境變數
如何配置 JRE(JAVA 運行環境):
在安裝 JDK 完畢後,必須保證正確設置 PATH 和 CLASSPATH 兩個環境變數,以便能夠把 JDK 安裝在計算機的正確位置上。
①在 Microsoft Windows 95/98/ME 下配置 JRE:
1、9x 用戶在 autoexec.bat 文件中設置環境變數。很多 Windows 9x 系統用戶沒有 autoexec.bat 文件,那麼可以使用行編輯命令(如 edlin 或 edit 等)創建一個,並將其置於 C:\ 下。
2、在 autoexec.bat 文件中插入以下語句:
set PATH=%PATH%;C:\jdk\bin
set CLASSPATH=C:\jdk\classes;C:\jdk\lib\classes.zip
3、執行 autoexec.bat 文件,使系統重新讀取這個文件:
C:\>autoexec.bat
②在 Microsoft Windows NT/2000/XP 下配置 JRE:
1、NT 用戶使用控制面板中的 System 程序來設置環境變數(「開始」-->「設置」-->「控制面板」-->「System」)。
2、輸入以下命令:
set path=%path%;C:\jdk\bin
set CLASSPATH=C:\jdk\classes;C:\jdk\lib\classes.zip
3、點擊「應用」按鈕使系統重新載入環境變數,點擊「確定」。
③在 UNIX / linux 系統(以 SunOS/Solaris 系統為例)下安裝 JRE:
1、Solaris 用戶通常在登錄腳本中設置環境變數。假設 JDK 已被安裝於預設目錄(/usr/local/jdk/bin)下。
2、Bourne Shell / Korn Shell 用戶修改 $HOME/.profile 文件(# 後面為單行注釋,可以不寫):
export PATH=$PATH:/usr/local/jdk/bin
# 或 PATH=($PATH:/usr/local/jdk/bin) export PATH
export CLASSPATH=/usr/local/jdk/classes:/usr/local/jdk/lib/classes.zip
# 或 CLASSPATH=(/usr/local/jdk/classes:/usr/local/jdk/lib/classes.zip) export CLASSPATH
保存並退出,然後讓系統重新載入環境變數:
$ $HOME/.profile
3、C Shell / TC Shell 用戶修改 ~/.cshrc 文件:
set path=(/usr/local/jdk/bin:$path)
set CLASSPATH=(/usr/local/jdk/classes:/usr/local/jdk/lib/classes.zip)
保存並退出,然後讓系統重新載入環境變數:
% source ~/.cshrc
Ⅵ 如何用Java程序改變系統環境變數
最近在做一個項目的時候,遇到一個要在java程序中改變linux的PATH環境變數的問題。我們知道在linux中PATH環境變數保存在用戶根目錄下的「.bashrc」和「.bash_profile這兩個隱藏文件中。用戶登錄的過程中便會把這兩個文件中的PATH路徑記錄的該用戶的shell中。如果用戶已經登錄,這時可通過命令 export PATH=add_path:$PATH來增加一個路徑為add_path的路徑。但通過此種方式增加的PATH路徑只在當前shell中有效(也就是說,當用戶通過另一個shell登錄時,PATH又變成了原來的值)。在windows中用戶已經登錄的情況下則是通過命令set來更改環境變數的。
Java語言是一門跨平台的語言,具有一次編寫到處運行的特點。在java的1.0版本中有System.getenv(String key)可以來取得操作系統的環境變數,但由於getenv()具有與操作系統緊密相關的特性,這與java的跨平台的跟本特徵相沖突,所以在java1.2中該方法被不推薦使用。而程序員在編程的過程中經常需要用到getenv(),所以在java1.5中getenv()又重新回來了。雖然可以通過getenv()來取得系統的環境變數,但是卻沒有與getenv()相對應的setenv()函數來改變系統的環境變數。
C語言是一門與平台相關的語言,在多年的發展中積累了數量相當可觀的庫函數,在stdlib.h函數庫中就有getenv(參數省略)與setenv(參數省略)來獲取和改變系統的環境變數,這就給我們一個提示:能不能在java語言中調用C語言的函數庫?JNI(java本地介面)正給了我們這樣一個選擇。
1.首先生成ChangeEnv.java文件
/**
* @author sgh
* @version 1.0.0 06/07/21
*/
public class ChangeEnv {
/**
* @param args
*/
static {
try{
System.loadLibrary("change_env");//聲明欲載入的動態鏈接庫
}
catch(UnsatisfiedLinkError e ){
System.err.println("Can not load library "+e.toString());
}
}
public native void setEnv(String name ,String value, int replace);//聲明一個本地調用介面
}
說明:
1. 動態鏈接庫在windows中是.dll文件,在linux中則是.so文件,但在System.loadLibrary("change_env")中不需要把後綴寫出 ,程序會自己判斷。
2. 本地介面聲明方式為在普通函數前加native關鍵字
2. 編譯java文件 :Javac ChangeEnv.java
3. 使用命令 javah ChangeEnv 生成ChangeEnv.h文件(ChangeEnv.h文件由程序自動生成,程序員不需要作任何改動)
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class ChangeEnv */
#ifndef _Included_ChangeEnv
#define _Included_ChangeEnv
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: ChangeEnv
* Method: setEnv
* Signature: (Ljava/lang/String;Ljava/lang/String;I)V
*/
JNIEXPORT void JNICALL Java_ChangeEnv_setEnv
(JNIEnv *, jobject, jstring, jstring, jint);
#ifdef __cplusplus
}
#endif
#endif
說明:
1.JNIEXPORT void JNICALL Java_ChangeEnv_setEnv
(JNIEnv *, jobject, jstring, jstring, jint)是本地介面函數的聲明需要在.cpp文件中實現它
4.編寫ChangeEnv.cpp
#include"ChangeEnv.h"
#include<stdio.h>
#include<stdlib.h>
//與ChangeEnv.h中函數聲明相同
JNIEXPORT void JNICALL Java_ChangeEnv_setEnv(JNIEnv * env, jobject obj, jstring name, jstring value, jint replace)
{
////從instring字元串取得指向字元串UTF編碼的指針
const char * name_char =(const char *) env->GetStringUTFChars(name ,JNI_FALSE);
const char * value_char =(const char *) env->GetStringUTFChars(value ,JNI_FALSE);
//實際調用的C庫函數
setenv(name_char,value_char,replace);
//通知虛擬機本地代碼不再需要通過name_char訪問Java字元串,否則會
//造成內存泄露
env->ReleaseStringUTFChars(name,(const char *)name_char);
env->ReleaseStringUTFChars(value,(const char *)value_char);
return ;
}
5.編譯ChangeEnv.cpp文件,生成libchange_env.so文件
gcc -I/home/disk4/sgh/sgh/jrockit/include -I/home/disk4/sgh/sgh/jrockit/include/linux -shared -o libchange_env.so ChangeEnv.cpp
說明:
1. Linux下鏈接庫名稱必須以lib開頭,否則會無法識別
6. 編寫測試程序test.java
import java.io.InputStreamReader;
import java.io.LineNumberReader;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(System.getenv("PATH"));//列印改變之前的PATH路徑
String pathPer = System.getProperty("java.library.path");
pathPer+=":.";
System.setProperty("java.library.path",pathPer);//把當前目錄加到動態鏈接庫路徑中
ChangeEnv changePath = new ChangeEnv ();//生成一個ChangeEnv對象
changePath.setEnv("PATH","$PATH:/home/disk4/sgh/sgh/soft/slurm34/bin:/home/disk4/sgh/sgh/soft/slurm34/sbin",1);
System.out.println(System.getenv("PATH"));//列印改變之後的PATH路徑
}
}
說明:
1. 可以看到PATH路徑發生了變化
JNI在windows下的使用
既然所有的.h ,.cpp文件都已寫好,我們不防順便編譯以下windows下的動態鏈接庫.dll文件。
這時我們發現在windows下的vc環境中沒有setenv(char * name ,char * value ,int replace),而只有putenv(char * key_value)函數,所以我們必須重寫ChangeEnv.cpp,為了使ChangeEnv.class對外介面保持一致性,所以我們沒有改寫ChangeEnv.java中本地函數借口的聲明。
1. 重寫ChangeEnv.cpp函數
#include"ChangeEnv.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//與ChangeEnv.h中函數聲明相同
JNIEXPORT void JNICALL Java_ChangeEnv_setEnv(JNIEnv * env, jobject obj, jstring name, jstring value, jint replace)
{
if(replace==0)//如果replace==0表示不發生置換,直接退出
return ;
////從instring字元串取得指向字元串UTF編碼的指針
const char * name_char =(const char *) env->GetStringUTFChars(name ,JNI_FALSE);
const char * value_char =(const char *) env->GetStringUTFChars(value ,JNI_FALSE);
//實際調用的C庫函數,把環境變數寫成key=value格式
char * key_value=(char *)name_char;
strcat(key_value, "=");
strcat(key_value, value_char);
putenv(key_value);
//通知虛擬機本地代碼不再需要通過name_char訪問Java字元串,否則會
//造成內存泄露
env->ReleaseStringUTFChars(name,(const char *)name_char);
env->ReleaseStringUTFChars(value,(const char *)value_char);
return ;
}
2. 在vc6中新建一個動態鏈接庫工程,添加ChangeEnv.h和ChangeEnv.cpp到該工程中去
3. 在「工具」----〉「選項-」----〉「目錄」中添加java的include路徑
C:\Program Files\Java\jdk1.5.0_06\include和C:\Program Files\Java\jdk1.5.0_06\include\win32
4. 單擊「運行」,把生成的change_env.dll拷貝到ChangeEnv.java所在的工程目錄中
5. 在ChangeEnv.java所在工程中新建一個測試程序test.java
import java.io.InputStreamReader;
import java.io.LineNumberReader;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
ChangeEnv changePath = new ChangeEnv();
changePath.setEnv("PATH", "%PATH%;c:\\", 1);
System.out.println(System.getenv("PATH"));
}
}
Ⅶ 如何使用腳本配置java環境變數
下載安裝java JDK,注意安裝的路徑,我們需要進行環境變數的配置。
安裝完成以後,配置環境變數
環境變數的配置這里就以win7為例:右擊計算機——屬性——高級系統設置。
點擊下面的環境變數,進入後在系統變數一欄點擊新建,然後輸入如下:
名稱:JAVA_HOME
變數值:剛剛安裝的路徑
在上面的一欄中點擊新建,內容如下:
名稱:CLASS_PATH
變數值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
一定要注意所有符號都是英文狀態的。
在系統環境變數中有一個path的環境變數,選中後選擇編輯,將JAVA_HOME添加進去即可,如圖:在最後加上;%JAVA_HOME%\bin;
測試java環境是否配置成功
按下win+R鍵,輸入cmd調出命令符控制窗口。輸入:java -version 後查看是否顯示版本即可。
Ⅷ 為tomcat配置java環境變數
我的電腦點右鍵,選擇「屬性」,選擇「高級」標簽,進入環境變數設置,分別設置如下三個環境變數:
設置JAVA_HOME:
一是為了方便引用,比如,JDK安裝在C:\jdk1.6.0目錄里,則設置JAVA_HOME為該目錄路徑, 那麼以後要使用這個路徑的時候, 只需輸入%JAVA_HOME%即可, 避免每次引用都輸入很長的路徑串;
二則是歸一原則, 當JDK路徑改變的時候, 僅需更改JAVA_HOME的變數值即可, 否則,就要更改任何用絕對路徑引用JDK目錄的文檔, 要是萬一沒有改全, 某個程序找不到JDK, 後果是可想而知的----系統崩潰!
三則是第三方軟體會引用約定好的JAVA_HOME變數, 不然, 你不能正常使用該軟體.
在系統環境變數那一欄中點->新建JAVA_HOME (JAVA_HOME指向的是JDK的安裝路徑)
變數名: JAVA_HOME
變數值: C:\jdk1.6.0
(1)設置好path變數,使得我們能夠在系統中的任何地方運行java應用程序,比如javac、java、javah等等,這就要找到我們安裝JDK的目錄,
假設我們的JDK安裝在C:\jdk1.6.0目錄下,那麼在C: \jdk1.6.0\bin目錄下就是我們常用的java應用程序,我們就需要把C:\jdk1.6.0\bin這個目錄加到path環境變數裡面。
在系統變數里找到path變數,選擇->編輯;(裡面已經有很多的變數值,是在變數值的最前面加上C:\jdk1.6.0\bin; 如果沒有 就新建一個 但是 一般都會有的)
變數名: path
變數值: C:\jdk1.6.0\bin;
或 %JAVA_HOME%\bin;
(2)classpath環境變數,是當我們在開發java程序時需要引用別人寫好的類時,要讓java解釋器知道到哪裡去找這個類。通常,sun為我們提供了一些額外的豐富的類包,一個是dt.jar,一個是tools.jar,這兩個jar包都位於C:\jdk1.6.0\lib目錄下,所以通常我們都會把這兩個jar包加到我們的classpath環境變數中set classpath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar。
在系統環境變數那一欄中點->新建classpath
變數名: classpath
變數值: .;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar;
或 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
(注意,CLASSPATH 中最前面是有個 「.」的,表示當前目錄,這樣當我們運行java AClass的時候,系統就會先在當前目錄尋找AClass文件了。);
Ⅸ 初學者設置java環境變數
下面是我看到的一個比較不錯的方法,至於自己手動設置的,到網路一搜大把。我就不轉了。
看到很多初學者反復問這個問題,寫了一個很簡單的一個腳本,用於自動設置環境變數。把代碼拷貝,另存為javaEnv.bat。安裝完Java 2 SDK之後,開一個命令行窗口,輸入javaEnv java2SDKDir(java2SDKDir是你的java的安裝目錄,不帶路徑最後的\。如果安裝路徑中有空格,請用javaEnv "java2SDKDir"格式)並運行。(註:一定要在javaEnv後邊加上你的sdk的目錄,setx的問題可以看這里)
@echo 你提供的jdk安裝目錄為:%1
@echo off
IF EXIST %1\bin\java.exe (
rem 如輸入正確的 Java2SDK 安裝目錄,開始設置環境變數
@setx JAVA_HOME %1
@setx path %JAVA_HOME%\bin;%path%
@setx classpath %classpath%;.
@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar
@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar
@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar
@echo on
@echo Java 2 SDK 環境參數設置完畢,正常退出。
) ELSE (
IF %1=="" (
rem 如沒有提供安裝目錄,提示之後退出
@echo on
@echo 沒有提供 Java2SDK 的安裝目錄,不做任何設置,現在退出環境變數設置。
) ELSE (
rem 如果提供非空的安裝目錄但沒有bin\java.exe,則指定的目錄為錯誤的目錄
@echo on
@echo 非法的 Java2SDK 的安裝目錄,不做任何設置,現在退出環境變數設置。
)
)
請打開另外一個窗口測試
運行
path
set classpath
也可參考 這里進行設置。