java代码编写环境变量 java环境变量配置菜鸟教程

Java环境变量中classpath是必须配置吗?设置环境变量\x0d\x0a在java 中需要设置三个环境变量(1.5之后不用再设置classpath了java代码编写环境变量,但个人强烈建议继续设置以保证向下兼用问题)\x0d\x0aJDK安装完成之后我们来设置环境变量java代码编写环境变量:右击“我java代码编写环境变量的电脑”,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量:\x0d\x0a(1)配置path变量:\x0d\x0a为什么要配置path变量?因为电脑系统将根据该变量java代码编写环境变量的值找到java编程中需要的一些程序,比如javac.exe、java.exe、javah.exe等等,其中javac.exe程序是用于编译java源代码 , java.exe程序是用于执行后缀为class的代码 。\x0d\x0a如何配置path变量?\x0d\x0apath变量一般电脑系统都已经创建好了,所以不用新建该变量,只需在系统变量里选中到path变量,点击“选择” -“编辑",需要注意的是,不要随便删除方框里原有的其java代码编写环境变量他path值,而是先在那一大串值之后,添加一个分号,再把C:\Program Files\Java\jdk1.5.0_17\bin填上去 。下面列出其键值对:\x0d\x0a变量名: PATH(不区分大小写但建议使用大写)\x0d\x0a变量值: C:\Program Files\Java\jdk1.5.0_17\bin\x0d\x0a(2)配置classpath变量:\x0d\x0a为什么要配置classpath变量?配置classpath变量,才能使得java解释器知道到哪里去找标准类库,这些标准类库是别人已经写好了的,我们只管使用 。比如我们常用到java.lang包中的类,在配置classpath变量后被设为默认导入,所以在写程序时就不用import这个包了 。那么这些标准类库在哪呢?在以JDK的lib目录下以jar为后缀的文件中:一个是dt.jar,一个是tools.jar , 这两个jar包都位于C:/jdk1.6.0/lib目录下 , 所以通常我们都会把这两个jar包加到我们的classpath环境变量的值为:.; C:\Program Files\Java\jdk1.5.0_17\\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_17\\lib\dt.jar;\x0d\x0a如何配置classpath变量?\x0d\x0a在系统环境变量那一栏中点击新建classpath ,具体过程省略,下面只列出其键值对:\x0d\x0a变量名: CLASSPATH\x0d\x0a变量值: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;\x0d\x0a(注意,CLASSPATH最前面是有个 “.”的,表示当前目录 。用两个%包围JAVA_HOME这个变量的意思是引用变量的值,当然如果你不想这样做,也可以这样配置classpath的值为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar; 也就是用JAVA_HOME变量的值替换%JAVA_HOME%);\x0d\x0a(3)配置JAVA_HOME变量:\x0d\x0a为什么要配置classpath环境变量?一是为了方便引用,比如,JDK安装在C:\Program Files\Java\jdk1.5.0_17目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串; 二则是归一原则, 当JDK路径改变的时候, 仅需更改JAVA_HOME的变量值即可, 否则,就要更改任何用绝对路径引用JDK目录的文档, 要是万一没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃! 三则是第三方软件会引用约定好的JAVA_HOME变量, 不然, 你不能正常使用该软件 。\x0d\x0a如何配置JAVA_HOME变量?\x0d\x0a在系统环境变量那一栏中点击新建JAVA_HOME (JAVA_HOME指向的是JDK的安装路径),变量的值实际上是JDK安装路径的根目录 。具体过程省略,下面只列出其键值对:\x0d\x0a变量名: JAVA_HOME \x0d\x0a变量值:C:\Program Files\Java\jdk1.5.0_17\x0d\x0a\x0d\x0a测试JDK是否安装成功\x0d\x0a在运行中输入cmd\x0d\x0a然后输入java _version\x0d\x0a看看是否能显示出您所配置的java版本
如何在java程序设置环境变量自己写个batch文件java代码编写环境变量,直接runtime调用
runtime.exec(xxx.bat, "路径")
batch文件里的 %1代表传入的第一个参数java代码编写环境变量,以此类推
除了标准java环境变量,也可以添加自己的
这个好处就是,你把设置的方法单独分离出来,以后随时需要2行代码就可以用了
--------------------------------------------------------
@set JAVA_HOME %1
@set path %path%;%JAVA_HOME%\bin
@set classpath %classpath%;.
@set classpath %classpath%;%JAVA_HOME%\lib\tools.jar
@set classpath %classpath%;%JAVA_HOME%\lib\dt.jar
@set classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar
-----------------------------------------------------------
什么echo 还有判断条件,修改成功失败信息,你自己添进去就好了
如何用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"
#includestdio.h
#includestdlib.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"
#includestdio.h
#includestdlib.h
#includestring.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=https://www.04ip.com/post/(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如何配置环境变量首先下载好jdk,直接双击就可以安装,安装比较简单,基本都是点击“下一步” 。
安装好jdk后,就要设置环境变量了,关闭或者打开的所有窗口,然后在我的电脑图标上面点击右键,然后在打开的菜单中选择“属性” 。
点击“属性”后,打开“系统”页面,在左边的功能菜单列表中选择“高级系统设置” 。
点击“高级系统设置”后,就打开“系统属性”设置对话框,之后点击右下方的“环境变量”按钮 。
在打开的“环境变量”对话框中,点击最上面的“新建”,如下图红色方框标注,之后在变量名中输入:JAVA_HOME,变量值后面的输入框中输入jdk安装的路径,如小妹就是默认安装路径:C:\Program Files\Java\jdk1.6.0_45,最后点击“确定”按钮,完成新变量的添加 。
点击“环境变量”下面的“新建”按钮,然后在弹出的对话框中输入变量名:CLASSPATH,和变量值:C:\Program Files\Java\jdk1.6.0_45\lib 。
在“系统变量”下面找到Path,并双击打开或者点击“编辑”按钮,然后在最后输入java的bin路径:C:\Program Files\Java\jdk1.6.0_45\bin , 最后点击各个确定按钮,这样就完成了jdk的安装和java环境变量的设置 。
java怎么设置环境变量第一步:先选择一个JDK版本(本文以:jdk1.7.0_51为例)java代码编写环境变量,双击安装 。[安装过程:文件夹名称(尽量不要选择在C盘 , 不要有中文和空格;接下来依次点击下一步;出现java代码编写环境变量了JRE安装下一步就点取消按钮,最后关闭.JDK安装成功)](ujiuye)
第二步:配置环境变量[计算机右键属性——高级系统设置——环境变量——系统变量——新建(变量名:java_home变量值:就是之前安装java代码编写环境变量的地址C:\Java\jdk1.7.0_51)接下里找到path(变量值里面加入:%java_home%\bin;)];
第三步:检查是否配置好[附件——命令提示符。输入 Java –version显示版本号,或者Java/javac] 。
【java代码编写环境变量 java环境变量配置菜鸟教程】java代码编写环境变量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java环境变量配置菜鸟教程、java代码编写环境变量的信息别忘了在本站进行查找喔 。

    推荐阅读