我想制作一个简单的ant构建hibernate测试项目。 在编译和构建(jar)期间没有错误。
但是当我运行它时,我得到了这个:
java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration ...
我找到了一个建议,说的是:jars应该在命令行中添加到classpath中,(当jar从ant运行时忽略classpath ...呃),好吧我尝试了以下内容:
java -jar dist/student.jar -cp /home/myname/workspace/basic_ant1/lib/hibernate/hibernate-core-4.2.8.Final.jar
但仍有一些错误:NoClassDefFoundError ...
我错了什么?
感谢您提前回复。
(org.hibernate.cfg在hibernate-core-4.2.8.Final.jar中)
Cs中。
答案 0 :(得分:1)
-jar
和-cp
是互斥的。
如果您想使用java -jar
,那么您的主JAR文件在其清单中需要Class-Path
条目,该条目指向其Main-Class
所需的所有其他广告(manifestclasspath
任务是生成此值的一种方便方法。)
如果您使用java -cp
,则必须在命令行上提供主类名称,否则将忽略清单中的Main-Class
。