以前の記事で、こんな便利な技を手に入れた。
時はたって、また同じことを実行しようとした。
scala> models.Login.sha512("01") java.lang.NoClassDefFoundError: Could not initialize class models.Login ... 43 elided
おろ?
調べてみました。
どうやらinitしないといけないらしい
というわけで、stackoverflowさんたちにお世話になってきました。
# これと scala> import play.core.StaticApplication import play.core.StaticApplication # 次にこれを実行する scala> new StaticApplication(new java.io.File(".")) [info] play - datasource [jdbc:mysql://localhost/project] bound to JNDI as DefaultDS [info] play - database [default] connected at jdbc:mysql://localhost/project play.api.Configuration$$anon$1: Configuration error[Cannot register class [models.Login] in Ebean server] at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:94) at play.api.Configuration.reportError(Configuration.scala:743) at play.Configuration.reportError(Configuration.java:310) at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:81) at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:91) at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:91) at scala.collection.immutable.List.foreach(List.scala:381) at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:91) at play.api.Play$$anonfun$start$1.apply(Play.scala:91) at play.api.Play$$anonfun$start$1.apply(Play.scala:91) at play.utils.Threads$.withContextClassLoader(Threads.scala:21) at play.api.Play$.start(Play.scala:90) at play.core.StaticApplication.<init>(ApplicationProvider.scala:55) ... 43 elided Caused by: java.lang.NoClassDefFoundError: Could not initialize class models.Login at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:274) at play.db.ebean.EbeanPlugin.onStart(EbeanPlugin.java:79) ... 52 more
こうやるとできるらしい。。。。。お?
またエラーだ。なんでだろ?
「clean」したらいいと天からお告げが
どこからか、「clean するのじゃ」という声が聞こえてきました。(本当は探しに探した結果です)
一旦consoleから脱出して実行する。
[project] clean [project] console [info] Updating {file:/Users/project/}root... [info] Resolving jline#jline;2.12.1 ... [info] Done updating. [info] Compiling 18 Scala sources and 17 Java sources to /Users/project/target/scala-2.11/classes... [info] Starting scala interpreter... [info] Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_75). Type in expressions to have them evaluated. Type :help for more information. scala> import play.core.StaticApplication import play.core.StaticApplication # おっ、できたっぽい scala> new StaticApplication(new java.io.File(".")) [info] play - datasource [jdbc:mysql://localhost/project] bound to JNDI as DefaultDS [info] play - database [default] connected at jdbc:mysql://localhost/project [info] play - Application started (Prod) res0: play.core.StaticApplication = play.core.StaticApplication@2a16e88f
できたんじゃね?
scala> models.Login.sha512("password") res1: String = b109f3bbbc244eb824ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5ffab0cacbc86
できました。よかった。。。