弱问一个package的问题

thuseus 2007-05-26 10:34:55
请问我运行如下程序时会出java.lang.NoClassDefFoundError: HelloWorld (wrong name: test/HelloWorld)错误:

package test;
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
.java和.class文件都在C:\test目录下,C:\也已经加入了CLASSPATH,为什么运行会出错呢?
...全文
194 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
java_road 2007-05-27
  • 打赏
  • 举报
回复
SB
richard_first 2007-05-27
  • 打赏
  • 举报
回复
因为你打了个包,所以这个类的完整的名应该是test.HelloWorld,当然在test中输入java HelloWorld是找不到这个类的,在test中输入java test.HelloWorld也是找不到的,因为test文件夹中没有test子文件夹,正确做法是在test文件夹外,用java test.HelloWorld就可以找到这个类了。
thuseus 2007-05-27
  • 打赏
  • 举报
回复
cd test
包其实不过是个文件夹,进入到里面以后编译运行,HelloWorld!

我试了,这样是不行的
jdl2000 2007-05-27
  • 打赏
  • 举报
回复
cd test
包其实不过是个文件夹,进入到里面以后编译运行,HelloWorld!
vagrant1984 2007-05-27
  • 打赏
  • 举报
回复
直接c目录:
C:\>javac test\HelloWorld.java
C:\>java test.HelloWorld

ps: 不推荐刚开始学java就ide,虽然免于一些烦琐的配置,但是还是打好基础比较好。
pfa2008 2007-05-27
  • 打赏
  • 举报
回复
你们的都不行,还是看我的:
编译:javac -d . HelloWorld.java
运行:java test.HelloWorld
Norris_Zhang 2007-05-26
  • 打赏
  • 举报
回复
正确做法,在C:\下键入:java test.HelloWorld然后回车,也就是在包的最顶层,键入类的全限定名(也就是包名.类名),当然java test/HelloWorld也是可以的,但那不是标准的,我也不知道为什么可以这样,我也试过可以,不过我是在Linux下试的,windows下没试过,不知道\行不行。但windows是支持/的.
thuseus 2007-05-26
  • 打赏
  • 举报
回复
进入test目录
java HelloWorld 不行

直接java test/HelloWorld 确能运行,而且奇怪的还不能用windows的反斜杠 请问这是为什么啊

bingxue2332 2007-05-26
  • 打赏
  • 举报
回复
搞个IDE吧 eclipse或者netbeans
kurtjob 2007-05-26
  • 打赏
  • 举报
回复
如何运行的?
java test/HelloWorld??
进入test目录
java HelloWorld

62,628

社区成员

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

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