java 类目录问题(简单的问题,很容易得分)(50分)

  • 主题发起人 主题发起人 z1w2x3
  • 开始时间 开始时间
Z

z1w2x3

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个class,原文件为a.java、b.java,a.java 中有语句:
package com.server;
编译后成功,生成a.class, 我将a.class 放在当前目录的:com/server/a.class,
b.java 中有语句:
package com.server;
a objectA=null;

但在编译b.java 时,出现错误:
cannot resolve symbol,
错误行:a objectA=null;
意思是不能解析符号:a, 即没有找到a.class,我百思不得其解。
 
是否将com.server放入了classpath,
不行就import进来吧
 
to: hotsoup
我也import 了,但还是出那个错误,我觉得这样做是多余的,关键是只要两个类在一个包
里,就应该能找到,但为什么就找不到呢?
 
hotsoup的答案是正确的!
 
把b.java放在com/server/下后,返回到com的同级目录
在此目录下:
javac com.server.b.java
接着:java -cp . com.server.b
应该没问题了!
 
to:abnertan
还有错误:can not read:com.server.b.java
我觉得是不是系统有问题,我的机器上装了:jdk 1.3;
weblogic 6.1;
jbuild5.0, 但独立
的文件编译很顺利,还有,我在公司的机器上,只要把.class 文件放在正确的目录下,在根
目录下编译任何文件都可一,只要在同一个包中。 所以,觉得奇怪.....?????
 
实在抱歉,刚才打字时太匆忙了
把b.java放在com/server/下后,返回到com的同级目录
在此目录下:
javac com.server.b.java [red]这里有问题,应该是 javac com/server/b.java[/red]
接着:java -cp . com.server.b [red]也可以java -cp . com/server/b[red]
[red]因为你的b.java用到了a.java中的类,所以上面这条语句会连同a.java一起编译[/red]
一个疏忽,给您带来了麻烦,抱歉!
 
to :abnertan
还不行啊,说错误的参数(javac 命令参数), 去掉[/red][/b]后,还是找不到类a,
嘿,我觉得问题的关键不在这里,关键是:
“我在公司的机器上,只要把a.class 文件放在正确的目录下,在根目录下编译任何文件都可一”
并不用采用什么特殊的方法,换个机器就不行,问题出在哪里?
 
你的代码是否有问题,如果正确的话,编译a成功后就会放在com/server目录下了。
 
import com.server.*;
 
接受答案了.
 

Similar threads

Z
回复
8
查看
213
ZRWeng
Z
回复
4
查看
198
kageroc
K
Z
回复
8
查看
781
zengliaoyuan
Z
回复
9
查看
238
小飞影
后退
顶部