我試圖通過PlayFramework 2.x連接到cassandra,但我得到了常見的異常ClassNotFoundException:play.Plugin。我已經完成了維基頁面https://github.com/deanhiller/playorm/wiki/PlayFramework-2.x-support上的所有內容。這裏是我的maven(我使用mvn repository中的playorm.jar)項目http://code.google.com/p/cassandranosql-firebrandocm-playorm/source/browse/trunk/,如你所見,有一個測試類UserPlayormDaoImplTest,其中被稱爲NoSql.em();拋出ClassNotFoundException。我將plugin2.1.jar添加到類路徑中,但是它找不到該類。我不知道什麼可能是錯的。感謝幫助。PlayFramework 2.x和playorm ClassNotFoundException:play.Plugin
堆棧跟蹤:
java.lang.NoClassDefFoundError: play/Plugin
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
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 java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.alvazan.play.NoSql.<clinit>(NoSql.java:16)
at cz.muni.fi.cassandra.Playorm.UserPlayormDaoImplTest.setUp(UserPlayormDaoImplTest.java:34)
at junit.framework.TestCase.runBare(TestCase.java:132)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:243)
at junit.framework.TestSuite.run(TestSuite.java:238)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: play.Plugin
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)
... 30 more
今天我檢查你的代碼。您的項目結構不像Play框架項目。請注意,該播放插件僅適用於Play框架,不得以其他方式使用。您可以在https://github.com/deanhiller/playorm-server上的示例項目中看到該插件是如何用於Play framework 1.0.x的。 – Easility 2013-02-26 06:00:35