1

PlayFramework 2.x で cassandra に接続しようとしましたが、一般的な例外 ClassNotFoundException: play.Plugin が発生しました。wiki ページhttps://github.com/deanhiller/playorm/wiki/PlayFramework-2.x-supportにあることをすべて実行しました。これが私のmavenです(mvnリポジトリのplayorm.jarを使用しています)プロジェクトhttp://code.google.com/p/cassandranosql-firebrandocm-playorm/source/browse/trunk/、ご覧のとおり、テストクラスがありますNoSql.em() と呼ばれる UserPlayormDaoImplTest; ClassNotFoundException をスローします。クラスパスに plugin2.1.jar を追加しましたが、クラスが見つかりません。何が問題なのかわかりません。手伝ってくれてありがとう。

スタックトレース:

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
4

2 に答える 2

1

どのバージョンのプレイを使用していますか? play.Plugin は play2.1.0 フレームワークの一部です。play-2.1.0/repository/local/play/play_2.10/2.1.0/jars/play_2.10.jar にある jar "play_2.10.jar" がプロジェクトのクラスパスにあるかどうかを確認できますか。

于 2013-02-25T06:47:27.350 に答える
0

私のせいで、以前に play-2.1.0/repository/local/play/play_2.10/2.1.0/jars/play_2.10.jar から play_2.10.jar をプロジェクトのクラスパスに追加していませんでした。playframework 2.1.0 (playframework Web サイトからダウンロード) を使用しています。そのjarを追加しましたが、他のクラスでも同様の問題が発生しています。クラスパスに欠落しているjarがさらにあるようです。スタックトレース:

java.lang.NoClassDefFoundError: scala/Function0
at play.api.Play.current(Play.scala)
at play.Play.application(Play.java:12)
at com.alvazan.play2.NoSqlForPlay2.em(NoSqlForPlay2.java:25)
at com.alvazan.play.NoSql.em(NoSql.java:60)
at cz.muni.fi.cassandra.Playorm.UserPlayormDaoImplTest.setUp(UserPlayormDaoImplTest.java:35)
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: scala.Function0
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)
... 19 more
于 2013-02-26T11:36:51.817 に答える