我无法运行SQLite sample而且令人抓狂。我收到一条复杂的多行错误消息,包括:
Exception in thread "main" java.lang.NoClassDefFoundError: Sample/jar
...
Could not find the main class: Sample.jar.
我怀疑可能涉及到类路径错误,所以这是我的类路径(Win7):
。; C:\ Program Files \ Java \ jdk1.6.0_25 \ lib; C:\ Program Files \ Java \ jre6 \ lib \; E:\ Dropbox \ Personal \ Development \ BlueJ examples; C:\ Program Files \爪哇\ jdk1.6.0_25 \ lib中\源码-JDB-3.7.2.jar
我正在E:... BlueJ示例文件夹中运行命令提示符(FWIW正常"java -jar hello.jar"
命令提示符在此文件夹中运行正常)。有人可以帮忙弄清楚我做错了什么吗?
答案 0 :(得分:1)
您的类路径需要包含对jar文件本身的引用,而不仅仅是它所在的目录。
答案 1 :(得分:0)
抱歉,不得不开始另一个答案,因为这个很长。
很高兴的事情正在奏效,但我想你可能误解了我在之前的回答中想说的话。
类路径是java将为您的类查找的一系列地方。如果classpath元素是一个文件夹,那么其中的所有.class文件都将包含在搜索中。 Jar文件本质上是压缩文件夹,因此您必须在类路径中包含jar文件的名称。您可以将实际的jar文件放在任何您喜欢的目录中,只要它在类路径中引用(使用文件的完整路径)。在您对我的其他答案的评论中,您已将sqlite-jdbc.jar添加到类路径文件中,但由于您没有使用完整文件路径引用它,因此java将仅在您运行时查看当前目录。
希望这是有道理的 - 并感谢接受:)