我一直在尝试设置最简单的简单hibernate应用程序,并且除了我平庸的思维方式之外,我无法让它运行. Maven很简单 – 在构建路径中添加依赖项,更新项目,blah blah blah yadda yadda yadda
它起源于单个ClassNotFoundException,需要缺少依赖项.我会导入丢失的jar并再次运行应用程序,只是为了得到另一个ClassNotFoundException.接下来我知道我有一大堆JARS而且没有工作应用
*目录被掩盖以保护不幸的人
我在Eclipse Kepler的最后一个项目中使用了Maven和Hibernate,这几乎太容易了,哈!更新到Luna是一个真正的痛苦,试图让Maven正确运行 – 禁用Java Compilier Compliance Level只是为了能够更新Dynamic Web Module,更不用说手动创建缺少的src / main / java和src / test / java使用maven-archetype-webapp标准的文件夹,列表继续.我花了太多时间才让事情不失败.
在我的上一个项目中,我需要导入的是:
javax.servlet
javax.servlet-api
3.1.0
provided
org.hibernate
hibernate-core
4.3.6.Final
org.hibernate
hibernate-c3p0
4.3.6.Final
org.springframework
spring-core
4.1.0.RELEASE
org.springframework
spring-web
4.1.0.RELEASE
org.springframework
spring-webmvc
4.1.0.RELEASE
org.codehaus.jackson
jackson-mapper-asl
1.9.13
那就是它!我在Session Factories和更新数据库表中游泳,就像我的工作一样(它是).
这让我相信这个新项目缺少一些核心功能.也许我忽略了IDE升级中的一些东西.几乎可以保证我的构建路径.请帮忙!
关于我的项目 – 我正在使用:
Eclipse Luna(Kepler使用Maven设置容易100倍)
Maven Webapp Archetype
JDK-1.7
Hibernate Core 4-3.6
我的最新例外是
Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/NamedStoredProcedureQuery
at org.hibernate.cfg.AnnotationBinder.bindDefaults(AnnotationBinder.java:276)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1402)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
at com.boa.ecris.test.Main.main(Main.java:22)
Caused by: java.lang.ClassNotFoundException: javax.persistence.NamedStoredProcedureQuery
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 4 more
如果这是特定于javax persistence-api.jar,它已经在那里!!!