在程序头加上package为什么在java执行的时候报错

xuwentao1976 2002-03-14 05:22:41
错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError:T9JListA(wrong name:jfc/T9JListA)

如果在程序头不加package,执行则通过没有问题
请指教
...全文
672 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pdev 2002-03-15
  • 打赏
  • 举报
回复
假设类Test.class在c:\test\a\b\c\
在Test中有package a.b.c;
则可如下运行:java -classpath=c:\test a.b.c.Test
javalearner 2002-03-15
  • 打赏
  • 举报
回复
怎么现在论坛的贴子回复,不能自动换行了?
javalearner 2002-03-15
  • 打赏
  • 举报
回复
不过看你的问题应该是classpath的问题,你没有将你自己的包添加到classpath中去,而java解释器是不会搜索不在classpath中的路径的,所以你加了package就不对了,不加反而能运行的原因是:没有设置package的*.java文件编译后生成的*.class文件是生成在你的JDK所在的根目录的,所以java解释器能够找到*.class文件。
javalearner 2002-03-15
  • 打赏
  • 举报
回复
你要保证你在文件中的package路径是你真实存在的路径,不能是虚构的。
DragonFly-9 2002-03-15
  • 打赏
  • 举报
回复
同意MagicFan(无痕) 的观点

你可以看看生成的class文件所在的路径在加与不加package的区别,然后你就明白了.
sniper_bat 2002-03-14
  • 打赏
  • 举报
回复
看看你放文件的路径是不是和你的PACKAGE一样啊?
MagicFan 2002-03-14
  • 打赏
  • 举报
回复
头上有package的时候,执行的时候应该把package的路径也打上去。
举个例子:
若你在test.java中写,
package a.b.c;
则执行的时候就要写,
c:\>java a.b.c.test
xuwentao1976 2002-03-14
  • 打赏
  • 举报
回复
fox_blue(蓝狐) :代码太长,程序没有问题。如果不加package的时候是没有问题的,程序能够执行,但加上package以后javac编译能够通过,java执行时则给出如上的错误提示。
fox_blue 2002-03-14
  • 打赏
  • 举报
回复
能不能贴出这几行代码?

62,612

社区成员

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

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