当前位置: 技术问答>java相关
新手,有关package与classpath的问题
来源: 互联网 发布时间:2015-01-01
本文导语: 我的电脑目录结构: D: user wbs util servlets ... 在util(基础类)目录下有若干.java文件,每个文件开头有package wbs.util; 在servlet(服务类)目录下有若干.java文件,第个文件开头有package wbs.servlets;然...
我的电脑目录结构:
D:
user
wbs
util
servlets
...
在util(基础类)目录下有若干.java文件,每个文件开头有package wbs.util;
在servlet(服务类)目录下有若干.java文件,第个文件开头有package wbs.servlets;然后用import wbs.util.*;包括基础类package
是否还要设置CLASSPATH才能实现代码共享?如何设置?
还有,当util目录下的一LogWriter.java(包括调用别的java文件)文件执行时,如不包括package(即把当前目录下所有java文件的package都去掉,能够正常执行,但当加上package后,编译能通过,执行报错:
Exception in thread "main" java.lang.NoClassDefFoundError:LogWriter(Wrong name:wbs/util/LogWriter)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.deifineClass(Unknown Source)
...
...
...
请问这是什么原因?如何解决?
D:
user
wbs
util
servlets
...
在util(基础类)目录下有若干.java文件,每个文件开头有package wbs.util;
在servlet(服务类)目录下有若干.java文件,第个文件开头有package wbs.servlets;然后用import wbs.util.*;包括基础类package
是否还要设置CLASSPATH才能实现代码共享?如何设置?
还有,当util目录下的一LogWriter.java(包括调用别的java文件)文件执行时,如不包括package(即把当前目录下所有java文件的package都去掉,能够正常执行,但当加上package后,编译能通过,执行报错:
Exception in thread "main" java.lang.NoClassDefFoundError:LogWriter(Wrong name:wbs/util/LogWriter)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.deifineClass(Unknown Source)
...
...
...
请问这是什么原因?如何解决?
|
1.设置classpath:
windows95/98 在autoexec.bat中的classpath变量(如果没有则新建一个CLASSPATH变量)后面添加你的package根目录例如原来的classpath是 classpath=c:jdk1.2.2libtools.jar;xxxx;则改为
classpath=c:jdk1.2.2libtools.jar;xxxx;d:userwbs;
windowsNT/2000 我的电脑/属性/高级/环境变量,在上面的列表框里找到CLASSPATH变量,如果没有则新建一个CLASSPATH变量,然后吧你的package 根目录添加到classpath变量中。
2.你的问题可能出在,看看LogWriter的package是什么?
windows95/98 在autoexec.bat中的classpath变量(如果没有则新建一个CLASSPATH变量)后面添加你的package根目录例如原来的classpath是 classpath=c:jdk1.2.2libtools.jar;xxxx;则改为
classpath=c:jdk1.2.2libtools.jar;xxxx;d:userwbs;
windowsNT/2000 我的电脑/属性/高级/环境变量,在上面的列表框里找到CLASSPATH变量,如果没有则新建一个CLASSPATH变量,然后吧你的package 根目录添加到classpath变量中。
2.你的问题可能出在,看看LogWriter的package是什么?
|
set classpath 一定要加上当前路径,切记
classpath=.;c:jdk1.2.2libtools.jar;xxxx;d:userwbs;
classpath=.;c:jdk1.2.2libtools.jar;xxxx;d:userwbs;
|
回复人:hem(何明) (2001-4-10 23:14:00) 得10分
我的电脑 属性 ,高级 ,环境变量
普通用户: 新建一个 CLASSPATH %CLASSPATH%:自己的Java脚本目录:JDK_LIB目录
javac filename.java
java filename 就可以看到结果了 :)
(只有系统管理员才有权限)
下面系统环境变量里面看看 有没有 CLASSPATH 如果没有新建一个 如果有 可以修改
回复人:skyyoung(路人甲) (2001-4-11 9:15:00) 得0分
http://www.csdn.net/expert/topic/85/85391.shtm
回复人:lmy2000(pluto) (2001-4-11 9:35:00) 得10分
一是将你的jdk安装路径的bin目录加到path中,如:c:jdk1.3bin
二是在你的classpath中增加 .;
回复人:jkoala() (2001-4-13 10:59:00) 得0分
到底是","还是"."
回复人:hem(何明) (2001-4-30 10:12:00) 得10分
回复人:hem(何明) (2001-4-29 20:04:00) 得0分
选择我的电脑,右键点出菜单,选择属性,弹处对话框"系统特性", 选择"高级"tab,
然后点按钮"环境变量",即可以编辑系统的环境变量
CLASSPATH=c:jdk1.3libtools.jar,c:jdk1.3libdt.jar;c:jdk1.3lib;c:jdk1.3bin;c:jdk1.3jrebin
ET PATH=c:jdk1.3bin
回复人:hem(何明) (2001-4-29 20:08:00) 得0分
选择我的电脑,右键点出菜单,选择属性,弹处对话框"系统特性", 选择"高级"tab,
然后点按钮"环境变量",即可以编辑系统的环境变量
CLASSPATH=c:jdk1.3libtools.jar,c:jdk1.3libdt.jar;c:jdk1.3libPATH=c:jdk1.3bin;c:jdk1.3jrebin
回复人:hem(何明) (2001-4-29 20:12:00) 得0分
回复人:hem(何明) (2001-4-29 20:11:00) 得分
to jacke
选择我的电脑,右键点出菜单,选择属性,弹处对话框"系统特性", 选择"高级"tab,
然后点按钮"环境变量",即可以编辑系统的环境变量
CLASSPATH=c:jdk1.3libtools.jar,c:jdk1.3libdt.jar;c:jdk1.3lib;%CLASSPATH%
PATH=c:jdk1.3bin;c:jdk1.3jrebin;%PATH%
如果你想把class放在某一个目录, 必须把这个目录设置到 CLASSPATH中。当然如果是a.b.c就不用把a目录,b目录放CLASSPATH 中。
我的电脑 属性 ,高级 ,环境变量
普通用户: 新建一个 CLASSPATH %CLASSPATH%:自己的Java脚本目录:JDK_LIB目录
javac filename.java
java filename 就可以看到结果了 :)
(只有系统管理员才有权限)
下面系统环境变量里面看看 有没有 CLASSPATH 如果没有新建一个 如果有 可以修改
回复人:skyyoung(路人甲) (2001-4-11 9:15:00) 得0分
http://www.csdn.net/expert/topic/85/85391.shtm
回复人:lmy2000(pluto) (2001-4-11 9:35:00) 得10分
一是将你的jdk安装路径的bin目录加到path中,如:c:jdk1.3bin
二是在你的classpath中增加 .;
回复人:jkoala() (2001-4-13 10:59:00) 得0分
到底是","还是"."
回复人:hem(何明) (2001-4-30 10:12:00) 得10分
回复人:hem(何明) (2001-4-29 20:04:00) 得0分
选择我的电脑,右键点出菜单,选择属性,弹处对话框"系统特性", 选择"高级"tab,
然后点按钮"环境变量",即可以编辑系统的环境变量
CLASSPATH=c:jdk1.3libtools.jar,c:jdk1.3libdt.jar;c:jdk1.3lib;c:jdk1.3bin;c:jdk1.3jrebin
ET PATH=c:jdk1.3bin
回复人:hem(何明) (2001-4-29 20:08:00) 得0分
选择我的电脑,右键点出菜单,选择属性,弹处对话框"系统特性", 选择"高级"tab,
然后点按钮"环境变量",即可以编辑系统的环境变量
CLASSPATH=c:jdk1.3libtools.jar,c:jdk1.3libdt.jar;c:jdk1.3libPATH=c:jdk1.3bin;c:jdk1.3jrebin
回复人:hem(何明) (2001-4-29 20:12:00) 得0分
回复人:hem(何明) (2001-4-29 20:11:00) 得分
to jacke
选择我的电脑,右键点出菜单,选择属性,弹处对话框"系统特性", 选择"高级"tab,
然后点按钮"环境变量",即可以编辑系统的环境变量
CLASSPATH=c:jdk1.3libtools.jar,c:jdk1.3libdt.jar;c:jdk1.3lib;%CLASSPATH%
PATH=c:jdk1.3bin;c:jdk1.3jrebin;%PATH%
如果你想把class放在某一个目录, 必须把这个目录设置到 CLASSPATH中。当然如果是a.b.c就不用把a目录,b目录放CLASSPATH 中。
|
试试 java wbs.util.LogWriter