classpath和环境变量

环境变量编辑

环境 变量,是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用 程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个 程序而没有告诉它程序所在的完整路径时,系统除了在 当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境 变量,来更好的运行进程。
环境 变量一般是指在 操作系统中用来指定操作系统运行环境的一些参数,如: 临时文件夹位置和 系统文件夹位置等

1主要作用

设置参数

环境 变量相当于给系统或用户 应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在 当前目录下面寻找此程序外,还应到哪些目录下去寻找;再如tc或vc++中,set include=path1;path2; 是告诉 编译程序到哪里去找.h类型的文件;当然不仅仅是指定什么路径,还有其它的作用的,如set dircmd=/4 设置一个环境变量的作用是在使用dir 命令时会把/4作为缺省的参数添加到你的dir命令之后,就像你的每个命令都加了/4参数,它实际上是给命令 解释程序command设置的一个环境变量,并且是给dir这个 内部命令设置的。
DWORD GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize),参数lpName是你要求查询的环境 变量的名,lpBuffer是返回你所指定的环境变量的值的,dSize是告诉这个 函数lpBuffer可以存放多少个字节。
分析本地故障时原因很可能就是因为环境 变量中的默认路径被删除的结果,默认路径一经设置,当前系统如有 程序运行时需要某些DLL或EXE文件,以及Active控件时就会到所有默认路径中去查找,如果在这些 目录中查找到相应的程序则自动加载,查找不到则报告缺少某某文件的 错误信息

软件共用

很多朋友会在自己的 计算机上安装双系统,例如C盘安装Windows XP,D盘安装Windows 7。可是某些 软件往往只在Windows XP系统中安装,Windows 7系统中是无法正常使用的,比较麻烦却有效的方法是再安装一遍。当我们了解了环境 变量中的用途后就可以很好解决双系统的 软件共用问题。

系统运行

为什么在Windows XP中安装了的 软件在Windows 7下无法运行呢( 绿色软件除外)?原因是安装软件时往往须要向系统 目录中复制某些文件,而使用另外一个系统时会由于缺少这些文件而无法运行。因此,我们可以通过设置环境 变量的方法来解决这个问题。

2常见环境变量

WINDOWS系统

%ALLUSERSPROFILE% 局部 返回所有“ 用户配置文件”的位置。
%APPDATA% 局部 返回默认 情况应用程序存储数据的位置。
%CD% 局部 返回 当前目录字符串。
%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确 命令行。
%CMDEXTVERSION% 系统 返回当前的“ 命令处理 程序扩展”的版本号。
%COMPUTERNAME% 系统 返回 计算机的名称。
%COMSPEC% 系统 返回 命令行解释器可执行 程序的准确路径。
%DATE% 系统 返回当前 日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。
%ERRORLEVEL% 系统 返回使用过的 命令错误代码。通常用非零值表示错误。
%HOMEDRIVE% 系统 返回连接到用户主 目录的本地工作站驱动器号。基于主 目录值的设置。用户主 目录是在“本地用户和组”中指定的。
%HOMEPATH% 系统 返回用户主 目录的完整路径。基于主 目录值的设置。用户主 目录是在“ 本地用户和组”中指定的。
%HOMESHARE% 系统 返回用户的共享主 目录的网络路径。基于主 目录值的设置。用户主 目录是在“本地用户和组”中指定的。
%LOGONSEVER% 局部 返回验证当前登录会话的 域控制器的名称。
%NUMBER_OF_PROCESSORS% 系统 指定安装在 计算机上的处理器的数目。
%OS% 系统 返回 操作系统的名称。Windows 2000 将 操作系统显示为 Windows_NT。
%PATH% 系统 指定 可执行文件的搜索路径。
%PATHEXT% 系统 返回 操作系统认为可执行的 文件扩展名的列表。
%PROCESSOR_ARCHITECTURE% 系统 返回处理器的芯片体系结构。值: x86,IA64。
%PROCESSOR_IDENTIFIER% 系统 返回处理器说明。
%PROCESSOR_LEVEL% 系统 返回 计算机上安装的处理器的型号。
%PROCESSOR_REVISION% 系统 返回处理器修订号的 系统变量
%PROMPT% 局部 返回当前 解释程序命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 系统 返回 0 到 32767 之间的任意 十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根 目录(即系统根目录)的 驱动器
%SYSTEMROOT% 系统 返回 Windows XP 根 目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登录用户可用的 应用程序所使用的默认临时 目录。有些 应用程序需要 TEMP,而其它应用程序则需要 TMP。
%TIME% 系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time 命令的详细信息,请参阅 Time。
%USERDOMAIN% 局部 返回包含 用户帐户的域的名称。
%USERNAME% 局部 返回当前登录的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回 操作系统 目录的位置。

Linux系统

shell环境依赖于多个文件的设置。当shell被调用时,它从两个初始文件读取 命令。/etc/profile包含了 系统变量,它由 系统管理员维护,由系统管理员设置本地系统变量和特殊 命令。普通用户的启动 信息文件($HOME/.bash_project)由各用户自己维护,该文件可以被修改以实现任何特定的 系统初始化
只有在特定的 情况下才读取profile文件,确切的说是在用户登陆的时候。当运行shell脚本或subshell以后,就无须再读profile.虽然所有profile都可选的,但是基本上所有系统都有/etc/profile.
如果定义了 变量ENV且已经传递到环境中,则所有的bash shell都要读取并调用由这个变量制定的文件所包含的 命令。这个文件用来定义所有bash shell的特征,而不仅仅是登陆到shell。这个文件的典型的名字是$HOME/,bashrc。
当用( 系统管理员)新建用户时,.bash_profile、bashrc和其他公共的环境文件模板将复制到/etc/skel这个 目录下面。可以编辑这些初始化设置,也可以在此 目录下添加附加的文件。
Example:
一个典型的系统profile(/etc/profile):
PATH=$PATH:/usr/qa/tools/bin
ENV==$HOME/.bashrc
ORACLE_HOME=/ dbs/oracle
ORACLE_SID=qadb
Export PATH ENV ORACLE_HOME ORCAL_SID
Cat /etc/motd
一个典型的用户profile(.bashrc)
PATH=$PATH:$HOME/bin
TEAM=uvt1224 export TERM
stty intr \^C
cal
mesg n
一个典型的用户 bashrc file (.bashrc):
alias dir=ls lf='ls -FC'
PSI='$PWS[!]>'
set -o vi
别名和其他bash专用的定义应该放在.bashrc文件(不应在.bash_profile) 中定义;否则会导致找不到某些 命令
应该记住profile文件和.bashrc文件的区别:两个profile都只在系统启动时被读取一次,而.bashrc在系统启动和每次调用shell的时候都要被读取。

环境变量编辑

环境 变量,是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用 程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个 程序而没有告诉它程序所在的完整路径时,系统除了在 当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境 变量,来更好的运行进程。
环境 变量一般是指在 操作系统中用来指定操作系统运行环境的一些参数,如: 临时文件夹位置和 系统文件夹位置等。

1主要作用

设置参数

环境 变量相当于给系统或用户 应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在 当前目录下面寻找此程序外,还应到哪些目录下去寻找;再如tc或vc++中,set include=path1;path2; 是告诉 编译程序到哪里去找.h类型的文件;当然不仅仅是指定什么路径,还有其它的作用的,如set dircmd=/4 设置一个环境变量的作用是在使用dir 命令时会把/4作为缺省的参数添加到你的dir命令之后,就像你的每个命令都加了/4参数,它实际上是给命令 解释程序command设置的一个环境变量,并且是给dir这个 内部命令设置的。
DWORD GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize),参数lpName是你要求查询的环境 变量的名,lpBuffer是返回你所指定的环境变量的值的,dSize是告诉这个 函数lpBuffer可以存放多少个字节。
分析本地故障时原因很可能就是因为环境 变量中的默认路径被删除的结果,默认路径一经设置,当前系统如有 程序运行时需要某些DLL或EXE文件,以及Active控件时就会到所有默认路径中去查找,如果在这些 目录中查找到相应的程序则自动加载,查找不到则报告缺少某某文件的 错误信息

软件共用

很多朋友会在自己的 计算机上安装双系统,例如C盘安装Windows XP,D盘安装Windows 7。可是某些 软件往往只在Windows XP系统中安装,Windows 7系统中是无法正常使用的,比较麻烦却有效的方法是再安装一遍。当我们了解了环境 变量中的用途后就可以很好解决双系统的 软件共用问题。

系统运行

为什么在Windows XP中安装了的 软件在Windows 7下无法运行呢( 绿色软件除外)?原因是安装软件时往往须要向系统 目录中复制某些文件,而使用另外一个系统时会由于缺少这些文件而无法运行。因此,我们可以通过设置环境 变量的方法来解决这个问题

2常见环境变量

WINDOWS系统

%ALLUSERSPROFILE% 局部 返回所有“ 用户配置文件”的位置。
%APPDATA% 局部 返回默认 情况应用程序存储数据的位置。
%CD% 局部 返回 当前目录字符串。
%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确 命令行。
%CMDEXTVERSION% 系统 返回当前的“ 命令处理 程序扩展”的版本号。
%COMPUTERNAME% 系统 返回 计算机的名称。
%COMSPEC% 系统 返回 命令行解释器可执行 程序的准确路径。
%DATE% 系统 返回当前 日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。
%ERRORLEVEL% 系统 返回使用过的 命令错误代码。通常用非零值表示错误。
%HOMEDRIVE% 系统 返回连接到用户主 目录的本地工作站驱动器号。基于主 目录值的设置。用户主 目录是在“本地用户和组”中指定的。
%HOMEPATH% 系统 返回用户主 目录的完整路径。基于主 目录值的设置。用户主 目录是在“ 本地用户和组”中指定的。
%HOMESHARE% 系统 返回用户的共享主 目录的网络路径。基于主 目录值的设置。用户主 目录是在“本地用户和组”中指定的。
%LOGONSEVER% 局部 返回验证当前登录会话的 域控制器的名称。
%NUMBER_OF_PROCESSORS% 系统 指定安装在 计算机上的处理器的数目。
%OS% 系统 返回 操作系统的名称。Windows 2000 将 操作系统显示为 Windows_NT。
%PATH% 系统 指定 可执行文件的搜索路径。
%PATHEXT% 系统 返回 操作系统认为可执行的 文件扩展名的列表。
%PROCESSOR_ARCHITECTURE% 系统 返回处理器的芯片体系结构。值: x86,IA64。
%PROCESSOR_IDENTIFIER% 系统 返回处理器说明。
%PROCESSOR_LEVEL% 系统 返回 计算机上安装的处理器的型号。
%PROCESSOR_REVISION% 系统 返回处理器修订号的 系统变量
%PROMPT% 局部 返回当前 解释程序命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 系统 返回 0 到 32767 之间的任意 十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根 目录(即系统根目录)的 驱动器
%SYSTEMROOT% 系统 返回 Windows XP 根 目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登录用户可用的 应用程序所使用的默认临时 目录。有些 应用程序需要 TEMP,而其它应用程序则需要 TMP。
%TIME% 系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time 命令的详细信息,请参阅 Time。
%USERDOMAIN% 局部 返回包含 用户帐户的域的名称。
%USERNAME% 局部 返回当前登录的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回 操作系统 目录的位置。

Linux系统

shell环境依赖于多个文件的设置。当shell被调用时,它从两个初始文件读取 命令。/etc/profile包含了 系统变量,它由 系统管理员维护,由系统管理员设置本地系统变量和特殊 命令。普通用户的启动 信息文件($HOME/.bash_project)由各用户自己维护,该文件可以被修改以实现任何特定的 系统初始化
只有在特定的 情况下才读取profile文件,确切的说是在用户登陆的时候。当运行shell脚本或subshell以后,就无须再读profile.虽然所有profile都可选的,但是基本上所有系统都有/etc/profile.
如果定义了 变量ENV且已经传递到环境中,则所有的bash shell都要读取并调用由这个变量制定的文件所包含的 命令。这个文件用来定义所有bash shell的特征,而不仅仅是登陆到shell。这个文件的典型的名字是$HOME/,bashrc。
当用( 系统管理员)新建用户时,.bash_profile、bashrc和其他公共的环境文件模板将复制到/etc/skel这个 目录下面。可以编辑这些初始化设置,也可以在此 目录下添加附加的文件。
Example:
一个典型的系统profile(/etc/profile):
PATH=$PATH:/usr/qa/tools/bin
ENV==$HOME/.bashrc
ORACLE_HOME=/ dbs/oracle
ORACLE_SID=qadb
Export PATH ENV ORACLE_HOME ORCAL_SID
Cat /etc/motd
一个典型的用户profile(.bashrc)
PATH=$PATH:$HOME/bin
TEAM=uvt1224 export TERM
stty intr \^C
cal
mesg n
一个典型的用户 bashrc file (.bashrc):
alias dir=ls lf='ls -FC'
PSI='$PWS[!]>'
set -o vi
别名和其他bash专用的定义应该放在.bashrc文件(不应在.bash_profile) 中定义;否则会导致找不到某些 命令
应该记住profile文件和.bashrc文件的区别:两个profile都只在系统启动时被读取一次,而.bashrc在系统启动和每次调用shell的时候都要被读取。

3设置方法

在windows 操作系统中可以通过 我的电脑-〉系统属性-〉高级系统设置->环境变量,来设置系统的环境 变量,然而在此设置的环境变量是否在注册表中具有对应的项呢?答案是肯定的。而在.net 中提供了一个类来获取系统的环境 变量及其值。
环境 变量分为两类:用户变量与 系统变量,在注册表中都有对应的项。
其中用户 变量所在位置:
HKEY_CURRENT_USER\Environment;
系统变量所在位置为:\ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001
\Control\Session Manager\Environment。
另外也可以右击 我的电脑——高级系统设置——环境 变量——在 系统变量里有path选项——双击打开——在原有变量的基础上添加英文状态下的分号——然后将路径名输入即可。(切记,不要删除原先的 系统变量,只要用分号隔开,然后添加,最后也要加上分号)

4编辑方法

在命令行中对环境变量进行编辑的方法
查看当前可用的所有环境 变量(= 系统变量+用户变量)
set
查看某个环境 变量,如PATH
set PATH
添加环境 变量,如xxx=aa
set xxx=aa
将环境 变量(如xxx)的值置为空
set xxx=
在某个环境 变量(如PATH)后添加新的值(如d:\xxx)
set PATH=%PATH%;d:\xxx
(注:在dos窗口中以 命令行方式对环境 变量的操作只对当前窗口的应用有效)


在没有设置环境变量之前,我们可以通过直接在应用程序中加带相关信息来运行我们

的程序。比如,我们可以这样开始运行一个java程序:

   C:\jdk1.3.1\bin\java -jar C:\windows\desktop\myfiles\SimpleColorConverter.jar

这样肯定没有错误,每次我们不得不敲上java应用程序的全路径和class文件的全路径,我们

写一次没问题,两次不觉得长,三次也不觉得累,可是如果我们每次都要重复的敲上这一堆路径的话,

那真的将会是一场噩梦。那么,我们怎么做才能够减轻我们的输入量呢?


一、简介:

        环境变量是操作系统、应用程序、脚本程序等等的指明灯,能够告诉他们需要的资源在哪里。大多数的

系统都有一些预先设置好的环境变量,当然,我们也可以增加自己的环境变量。

    为了看看当前系统的环境变量,我们可以用如下的命令:

    在Linux/Unix系统上,在shell命令符输入 env ,然后回车

    在Windows系统中,在DOS窗口提示符输入 set ,然后回车

    这样,我们就可以看到系统当中的所有环境变量,如果我们想看看单个变量的值呢?

    在Linux/Unix系统上,在shell命令符输入 echo $变量名 ,然后回车

    在Windows系统中,在DOS窗口提示符输入 set 变量 或者 echo %变量%,然后回车

    如果要设置一个环境变量,可以用下面的命令:

    在Linux/Unix系统上,在shell命令符输入 export 变量名="变量值" ,然后回车

    在Windows系统中,在DOS窗口提示符输入 set 变量名="变量值" ,然后回车

    这样,就设置好了。path和classpath环境变量的值都是一些有顺序的目录列表。告诉系统或者应用程序

到哪里去寻找它们需要的资源。这个目录列表是由一系列的分隔符分开的,Linux/Unix系统下分隔符是冒号“:”

windows系统中是分号“;”。如果,我们想在某个已经存在的环境变量值下加一些自己的值的话,可以这样:

    Linux/Unix系统下: export CLASSPATH=$CLASSPATH:/path/to/program

    Windows系统下: set CLASSPATH = %CLASSPATH%;c:\path\to\program


二、设置Java环境

       要想方便的开发和运行Java应用程序,我们需要设置两个环境变量,一个path一个classpath。

       设置好path变量,使得我们能够在系统中的任何地方运行java应用程序,比如javac、java、javah等等

这就要找到我们安装JDK的目录,比如我们的JDK安装在c:\jdk1.3\目录下,那么在c:\jdk1.3\bin目录

下就是我们常用的java应用程序,我们就需要把c:\jdk1.3\bin这个目录加到path环境变量里面。

    classpath环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让java解释器知道到哪里

去找这个类。通常,sun为我们提供了一些额外的丰富的类包,一个是dt.jar,一个是tools.jar,这两个jar包

都位于c:\jdk1.3\lib目录下,所以通常我们都会把这两个jar包加到我们的classpath环境变量 (对这点我心存怀疑,这2个包应该是不用加也行的)

set classpath=.;c:\jdk1.3\lib\tools.jar;c:\jdk1.3\lib\dt.jar。 注意对于jar包,在classpath中

需要跟上完整地文件路径,而不能仅仅跟一个目录。第一个路径的点“.”,代表当前目录,这样当我们运行java AClass

的时候,系统就会先在当前目录寻找AClass文件了。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值