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
也可参考 这里进行设置。