看树顶“初学者必读”的呕血补充!!!菜鸟来,高手也看看
树顶上的“java初学者必读—经验总结”文中有一段:
“关于带包的编译问题:
如果你的类是带包的,应该用如下方法编译:
javac -d 包的父目录 类名.java
java 包名.类名”
我觉得这段话对我帮助甚微,我用这个方法在我这里试了没用,结果在黑暗中摸索了35小时,终于运行通过了自己的第一个带包的类,好爽啊!!!!
我的情况是:(环境变量已经设置好了)
要用到的类class C1在如下目录:
C1在 d:\MyJv\P1\C1.java
就是说C1 在包“P1"中;main 函数在 C1 里面。
正确的运行过程是:
d:\MyJv\P1>javac C1.java
d:\MyJv\P1>cd..
d:\MyJv>java P1.C1
d:\MyJv>C1 running well...
请注意,我这里有一个与“初学者必读”里面不同的细节:我先到 C1 所在目录下编译 C1,再退到包 P1 所在目录下运行 “java 包名.类名".后来我又试验了多种情况,都是这样子,那么,"javac -d 包名.类名”在我的机器上是运行不了的。(我的机器:win2000server,j2sdk1.4.1)。我在环境变量这里转了数十小时,得到的结论却是:我的错不是环境变量的问题,而是编译、运行时要到目录里面跳来跳去。。。。(有没有哪个倒霉的家伙碰到和我一样的问题呢???有没有大虾能解释呢????)
另外补充一点,新手们在编译、运行的时候没有清除.class文件的习惯,往往造成原先编译出来的旧.class文件干扰新情况的问题(你以为自己已经改了,可.class文件里还是没改的dd).一定要把出问题的.java文件对应的.class文件都删掉再开始重新编译、运行。
咱们菜鸟一定要多交流啊,菜鸟总有一天也会飞起来的!!!