classpath & package

yourazhe 2003-08-21 05:10:07
我现在通过WIN2000的环境变量设置路径,遇到一些麻烦,请教一下
1.设置PATH路径和CLASSPATH路径是在用户变量还是系统变量里面设置,用户变量和系统变量有什么区别?
2.环境变量的作用到底是什么?
3.我在CLASSPATH里面设置为:
.;c:\doc1;d:doc2
在程序里面为:
package com.mysite.java
经过编译后,为什么找不到相应的包呢?
4.一个JAVA程序经过的全过程是什么?

多谢!多谢!
...全文
25 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcjl 2003-08-21
  • 打赏
  • 举报
回复
看来我是弄错了
java文件编译后生成的class本来就是和java同一目录下的啊
不过要运行它则要移植到classpath中去才行
yourazhe 2003-08-21
  • 打赏
  • 举报
回复
现在的问题是我在执行JAVAC后,看到所生成的*.CLASS不在相应的目录下面。


TO :zcjl(莫等闲,白了少年头)
为什么生成的*.CLASS文件不会放在当前目录下面?
CLASSPATH里面的三个目录在接受所生成的CLASS文件时有什么先后优先次序吗?

zcjl 2003-08-21
  • 打赏
  • 举报
回复
运行的时候java com.mysite.sample.classname [parameter1,parameter2...]
yourazhe 2003-08-21
  • 打赏
  • 举报
回复
使用package的目的就是将随后的的*.JAVA源文件自动放在以CLASSPATH为绝对路径的后面的相应的目录下面吗?如果CLASSPATH里面有对于一个的路径,那么执行JAVAC后的*.CLASS文件究竟会在以哪个目录下面啊??????
zcjl 2003-08-21
  • 打赏
  • 举报
回复
放到c:\doc1\com\mysite\sample或是d:\doc\com\mysite\sample下
yourazhe 2003-08-21
  • 打赏
  • 举报
回复
楼上的兄弟请解释一下啊:
你指的编译时方的地方是指谁被放置的地方?是*.JAVA吗?
我刚才可能具的离子有点不清楚。
如果CLASSPATH:.;c:\doc1;d:doc

在我的程序中有:

package com.mysite.sample

那么编译后的*.class文件是放在那三个目录下面的哪一个下面?
如果没有相应的目录会自动省策划能够吗?


多谢!!!!!!!!
snail2011 2003-08-21
  • 打赏
  • 举报
回复
一:你先进入注册表找到:HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft下的“Java运行时环境“子键,用鼠标右键单击该子项,从弹出菜单中选择“重命名”,将该子项名称修改为“Java Runtime Environment”。
二: 环境变量设置:
1 、PATH :d:\jdk
2 CLASSPATH:.;d:\jdk1.3\lib\dt.jar;d:\jdk1.3\lib\tools.jar

在DOS环境下编译与执行。
编译命令为:javac 名.java
执行命令为:java 名。
NewStarter 2003-08-21
  • 打赏
  • 举报
回复
1.path可以设置java命令所在地方,classpath是设置找到运行java时所需要的资源文件和如果程序中使用包的话,指导系统按照路径找到相应的类
2环境变量设置路径
3你因该在建立文件夹com/mysite在com的上一个目录里执行密令java com.mysite.java可以找到该类。具体机制如下:
1 建立类路径引用表
2 根据文件的内部信息与类路径引用表的数据合成类文件的绝对路径。
3 根据信息载入类。
注意下面几点:
1. java文件和类文件放在其所属之package所对应的相对路径下

2 java.exe or javac.exe 最好确定-classpath项 也可以在环境变量CLASSPATH
里设置 注意jar中是否有package名称相同的类,否则容易引起混淆。
4全过程时这样的:
java xxx.class
1 找到jre
2 找到jvm.dll
3 启动jvm并进行初始化
4 产生Bootstrp Loader
5 载入ExtClassLoader
6 载入AppClassLoader
把类xxx.class载入
然后调用类执行
BloodMaster 2003-08-21
  • 打赏
  • 举报
回复
生成的类究竟是放在哪一个路径下面是你自己决定的
zhousm6 2003-08-21
  • 打赏
  • 举报
回复
要看你编译的时候放在了什么地方:
如果执行:javac mysite.java
的话,会在当前目录下生成com目录,下面放着编译出的class.
运行的时候在当前目录下 java com/mysite 就行了。
yourazhe 2003-08-21
  • 打赏
  • 举报
回复
.;c:\doc1;d:doc2这个CLASSPATH有三个路径,那么我生成的类究竟是放在哪一个路径下面???
BloodMaster 2003-08-21
  • 打赏
  • 举报
回复
用相应的包是import com.mysite.java;
package是用来设置生成的class的位置

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧