1
SBTプロジェクトでcronishライブラリを使用します。
私build.sbtは、私はcronish_2.12
が存在しないため、明示的にcronish_2.11
を言及する必要があり
name := "SampleName"
version := "1.0"
scalaVersion := "2.12.4"
libraryDependencies += "com.github.philcali" % "cronish_2.11" % "0.1.3"
を次のようになります。私はscalaVersion
を変更した場合
[error] (run-main-0) java.lang.NoClassDefFoundError: scala/Function1$class
java.lang.NoClassDefFoundError: scala/Function1$class
at scala.util.parsing.combinator.Parsers$Parser.<init>(Parsers.scala:225)
at scala.util.parsing.combinator.RegexParsers$$anon$1.<init>(RegexParsers.scala:84)
at scala.util.parsing.combinator.RegexParsers$class.literal(RegexParsers.scala:84)
at cronish.dsl.Cronish$.literal(dsl.scala:209)
at cronish.dsl.CronParsers$class.$init$(dsl.scala:28)
at cronish.dsl.Cronish$.<init>(dsl.scala:209)
at cronish.dsl.Cronish$.<clinit>(dsl.scala)
at cronish.dsl.package$.string2cron(package.scala:7)
at cronish.dsl.package$.<init>(package.scala:18)
at cronish.dsl.package$.<clinit>(package.scala)
at workers$.main(workers.scala:8)
at workers.main(workers.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
Caused by: java.lang.ClassNotFoundException: scala.Function1$class
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at scala.util.parsing.combinator.Parsers$Parser.<init>(Parsers.scala:225)
at scala.util.parsing.combinator.RegexParsers$$anon$1.<init>(RegexParsers.scala:84)
at scala.util.parsing.combinator.RegexParsers$class.literal(RegexParsers.scala:84)
at cronish.dsl.Cronish$.literal(dsl.scala:209)
at cronish.dsl.CronParsers$class.$init$(dsl.scala:28)
at cronish.dsl.Cronish$.<init>(dsl.scala:209)
at cronish.dsl.Cronish$.<clinit>(dsl.scala)
at cronish.dsl.package$.string2cron(package.scala:7)
at cronish.dsl.package$.<init>(package.scala:18)
at cronish.dsl.package$.<clinit>(package.scala)
at workers$.main(workers.scala:8)
at workers.main(workers.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
私はそれが仕事を得ることができます。私はそれが次のエラーを取得するsbt run
をされて使用して実行すると、私は$ProjectRoot/src/main/scala
import cronish._
import cronish.dsl._
object workers {
def main(args: Array[String]) : Unit = {
val payroll: CronTask = task {
println("You have just been paid... Finally!")
}
payroll executes "every 5 seconds"
}
}
に位置workers.scalaでプロジェクトを実行していますよ2.11.x
。しかし、私は何が原因でエラーが発生したのだろうか?私の現在のScalaバージョンでこれを動作させる最良の方法は何ですか?