在测试hibernate是,当程序运行到如下的语句时:

1
java.lang.IllegalAccessError: tried to access method net.sf.ehcache.CacheManager.<init>()V from class org.hibernate.cache.EhCacheProvider
2
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:124)
3
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:180)
4
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1213)
5
at no.brodwall.demo.domain.persist.ProductDAOTest.setUp(ProductDAOTest.java:45)
6
at junit.framework.TestCase.runBare(TestCase.java:125)
7
at junit.framework.TestResult$1.protect(TestResult.java:106)
8
at junit.framework.TestResult.runProtected(TestResult.java:124)
9
at junit.framework.TestResult.run(TestResult.java:109)
10
at junit.framework.TestCase.run(TestCase.java:118)
11
at junit.framework.TestSuite.runTest(TestSuite.java:208)
12
at junit.framework.TestSuite.run(TestSuite.java:203)
13
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
14
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
15
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
16
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
17
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
18
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
在网上找呀找,终于找到了,是ehcache的一个bug引起的,把ehcache升级到1.2以上的版本就行了,:0)

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
