`
loveaden001
  • 浏览: 26269 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Exception in thread "main" java.lang.NoClassDefFoundError: TCPServer (wrong name: intimeMessage/TCP

 
阅读更多
(我的收获: 是因为 编译的时候忘记在 类名前面加载 包名
例如: 正确的格式:
D:\Study\Code\Java\JavaCode\aden\src> java aden.fight )

编译时遇到下面这个问题。一直搞不懂是什么意思

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>f:

F:\>cd workspace2\IM\bin\intimeMessage

F:\workspace2\IM\bin\intimeMessage>java TCPServer
Exception in thread "main" java.lang.NoClassDefFoundError: TCPServer (wrong name
: intimeMessage/TCPServer)

at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

网上找了下,才知道是没有按照包层次运行

E:\java\src>javac HelloWorld.java

  此时在当前目录下输出HelloWorld.class。此时,运行不能使用上面相同的方法,使用:

  E:\java\src>java HelloWorld

  运行时,出现如下错误:

  Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: org/javaresearch/HelloWorld)

  从上述错误信息你也可以看到,系统可以找到HelloWorld类(因为当前路径包含在CLASSPATH中,具体为什么会提示wrong name,有兴趣的朋友参见Java语言规范),但这个类属于org.javaresearch包。所以,你要做的就是按照上述包层次,相应的创建目录层次,把上面生成的HelloWorld.class放到E:\java\src\org\javaresearch\目录下。运行:

  E:\java\src >java org.javaresearch.HelloWorld

  系统打印出:

  Hello World!

  这儿要注意的是,不能使用java org\javaresearch\HelloWorld来运行,此时同样会出现如下错误:

  Exception in thread "main" java.lang.NoClassDefFoundErrorrg\javaresearch\HelloWorld (wrong name: org/javaresearch/HelloWorld)

重新按照包层次运行。成功~~~~

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>f:

F:\>cd workspace2\IM\bin

F:\workspace2\IM\bin>java intimeMessage.TCPServer
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics