Java NoClassDefFoundError,无法找到或加载主类
我使用的代码来自罗马的教程页面。也尝试一下这个: 编译是可行的,但我不确定如何运行这些示例。为什么我只是在命令行中键入Java NoClassDefFoundError,无法找到或加载主类,java,Java,我使用的代码来自罗马的教程页面。也尝试一下这个: 编译是可行的,但我不确定如何运行这些示例。为什么我只是在命令行中键入java FeedReader或java FeedAggregator,我得到了错误: C:\projects\freshmeat\src>java FeedAggregator http://freecode.com/?format=atom Exception in thread "main" java.lang.NoClassDefFoundError: com/su
java FeedReader
或java FeedAggregator
,我得到了错误:
C:\projects\freshmeat\src>java FeedAggregator http://freecode.com/?format=atom
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/syndication/f
eed/synd/SyndFeed
加上这个错误后面的大块
为什么会发生这种情况,我如何修复它并尝试这些事情?我怎样才能在罗马找到工作 您需要在运行时类路径中包含rome(除了编译时类路径之外)
您尝试运行的示例位于包
com.sun.syndication.samples
中。你说你是一个完全的初学者,因此,为了让事情更简单,我建议你删除FeedReader.java
和FeedAggregator.java
中以package
开头的行。删除类的包
指令后重新编译类
然后,要运行这些类,请确保您与javac
创建的类文件FeedReader.class
和FeedAggregator.class
位于同一目录中。然后,尝试运行:
java -cp c:\projects\freshmeat\libs\rome-1.0.jar;c:\projects\freshmeat\libs\jdom-1.0.jar;. FeedReader
您可以从包含com
子目录的目录运行它,而不是从包含类文件的目录运行它
关于Java包的更多信息可以找到。我的类路径中确实包含了rome。这是我的编译命令:
C:\projects\freshmeat\src>javac-cpc:\projects\freshmeat\libs\rome-1.0.jar;c:\p rojects\freshmeat\libs\jdom-1.0.jar FeedAggregator.java
这是编译时类路径。您还必须将其包括在运行时类路径中,谢谢。好的,现在我明白了:C:\projects\freshmeat\src>java-cpc:\projects\freshmeat\libs\rome-1.0.jar;c:\pr projects\freshmeat\libs\jdom-1.0.jar FeedAggregator错误:找不到或加载主类FeedAggregator
没有其他想法?谢谢你到目前为止的帮助,我是一个完全的初学者。这意味着你的课找不到了。通常从/bin而不是/src运行程序
java -cp c:\projects\freshmeat\libs\rome-1.0.jar;c:\projects\freshmeat\libs\jdom-1.0.jar;. FeedReader
java -cp c:\projects\freshmeat\libs\rome-1.0.jar;c:\projects\freshmeat\libs\jdom-1.0.jar;. com.sun.syndication.samples.FeedReader