Chinaunix首页 | 论坛 | 博客
  • 博客访问: 847957
  • 博文数量: 756
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:40
文章分类

全部博文(756)

文章存档

2011年(1)

2008年(755)

我的朋友

分类:

2008-10-13 16:14:10

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。

JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=x:\JDK_1.4.2

PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin (注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo %JAVA_HOME%来看一下你的设置结果) :
PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。

CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".;",如果你看不清,我给你念念——句点分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的) ,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:) 这个是由java语言的import机制和jar机制决定的,你可以查资料解决。


呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。
win9x用户修改autoexec.bat文件,在其末尾加入:
set JAVA_HOME=x:\JDK_1.4.2
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.;%JAVA_HOME%\lib\tools.jar

就可以了。

 乾坤一笑[FreeDebug] 于 2003-12-18


 

-------------------------------------
2004-11-16 发布 自动注册java环境变量的脚本 setjenv.wsf

闲的无聊,想起初学java时运行一个hello,world!而屡次不能的苦处(多半是因为环境配置的不对),所以写了这个自动注册java环境变量的脚本,希望能对大家有所帮助。:p

用法:
    把setjenv.wsf放在你的JDK目录下,双击运行即可。
如我的:
j2sdk1.4.0_03
  |--bin
  |--lib
  .....
那么应该把setjenv.wsf放在j2sdk1.4.0_03目录里。


--------------------next---------------------
谢谢你。从你这里知道了怎么设置环境变两。
但是,还有一个问题需要请教一下,请尽快回答我好吗?^_^ 
很急。。。

我的jdk的安装路径是:C:\j2sdk1.4.2_10
然后我编写了Welcome.java这个文件,
然后使用命令行方法进行编译(进入C:\j2sdk1.4.2_10)
但出现100 errors,206 warnings
都类似下面:
.\java\nio\DirectByteBufferR.java:479: cannot resolve symbol
symbol  : method assert (boolean)
location: class java.nio.DirectByteBufferR
        assert (off <= lim);
        ^
不知道为什么。。

后来我把Welome.java放到C:\j2sdk1.4.2_10\test中后,在进行编译,便得到了正确的结果。

这是为什么啊?

麻烦你了。。。
你可以把答案些邮件给我吗?
maomaozheng@126.com

另外,我是个菜鸟,我能在QQ上向你请教问题吗?
--------------------next---------------------

阅读(455) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~