2014-02-18 132 views
-1

我正在Eclipse中运行Maven项目中的mvn测试。 JUnit测试通过,但是我得到一个堆栈跟踪错误,下面是错误。这与我认为的javax.peristence.Persistence类有关。我做了一些研究,我想我需要将javax库添加到类路径中(获取一些关于如何做到这一点的建议会很好,我已经把这个依赖关系放在了pom.xml中,但仍然出现错误。我想在pom.xml明确列出能解决我的问题。Maven测试,构建失败,java.lang.NoClassDefFoundError

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>ejb3-persistence</artifactId> 
     <version>1.0.2.GA</version> 
     <type>pom</type> 
    </dependency> 

Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.399 sec <<< FAILURE! - 

in tableTests.TestBaseDataConfig 

testCreateDeleteRow(tableTests.TestBaseDataConfig) Time elapsed: 0.087 sec <<< ERROR! 

java.lang.NoClassDefFoundError: javax/persistence/Persistence 
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 persistence.PersistenceUtil.<clinit>(PersistenceUtil.java:12) 
at config.AbstractTableConfig.createRow(AbstractTableConfig.java:11) 
at tableTests.TestBaseDataConfig.testCreateDeleteRow(TestBaseDataConfig.java:51) 

回答

1

你只是声明依赖于EJB3,休眠POM,而不是实际的罐子神器尝试移除<type>pom</type>