2013-02-25 5 views
1

PlayFramework 2.x에서 cassandra에 연결하려고했지만 일반적인 예외가 발생했습니다. ClassNotFoundException : play.Plugin. 위키 페이지 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을 추가했지만 클래스를 찾을 수 없습니다. 나는 무엇이 잘못 될 수 있는지 모른다. 도와 주셔서 감사합니다.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 
+0

오늘 코드를 확인합니다. 프로젝트의 구조는 Play 프레임 워크 프로젝트와 다릅니다. Play 플러그인은 Play 프레임 워크 전용이며 다른 용도로 사용되지 않습니다. https://github.com/deanhiller/playorm-server에있는 예제 프로젝트에서 Play Framework 1.0.x 용 플러그인이 어떻게 사용되었는지 확인할 수 있습니다. – Easility

답변

1

사용하는 게임의 버전? play.Plugin은 play2.1.0 프레임 워크의 일부입니다. play-2.1.0/repository/local/play/play_2.10/2.1.0/jars/play_2.10.jar에있는 병 "play_2.10.jar"이 프로젝트의 클래스 경로에 있는지 확인할 수 있습니까?

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 웹 사이트에서 다운로드)을 사용하고 있습니다. 나는 그 항아리를 추가했지만, 이제는 다른 학급과 비슷한 문제가 있습니다. classpath에 항아리가 더없는 것처럼 보입니다. 스택 추적 :

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 
+2

예. 나는 당신이 이클립스를 사용하고 있고 프로젝트 디렉토리에서 "play eclipse"를한다면 이것과 다른 것들은 당신의 플레이 프로젝트에 기본적으로 와야한다고 생각한다. – Easility