1

次の Scala (2.10.1) スクリプトがあります。

#!/bin/bash

export CLASSPATH=${WORKSPACE}/play-2.1.1/repository/local/play/play_2.10/2.1.1/jars/play_2.10.jar

exec ${SCALA_HOME}/bin/scala -cp ${CLASSPATH} "$0" "$@" 2>&1
!#

import play.api.libs.json.JsArray

と:

$ jar tvf ${WORKSPACE}/play-2.1.1/repository/local/play/play_2.10/2.1.1/jars/play_2.10.jar | grep JsArray
  1401 Sat Jun 29 18:33:36 EDT 2013 play/api/libs/json/JsArray$$anonfun$$bslash$bslash$1.class
  2234 Sat Jun 29 18:33:36 EDT 2013 play/api/libs/json/JsArray$.class
  1517 Sat Jun 29 18:33:38 EDT 2013 play/api/libs/json/Reads$JsArrayMonoid$.class
  8358 Sat Jun 29 18:33:36 EDT 2013 play/api/libs/json/JsArray.class
  1368 Sat Jun 29 18:33:36 EDT 2013 play/api/libs/json/JsArray$$anonfun$apply$1.class
  6035 Sat Jun 29 18:33:36 EDT 2013 play/api/libs/json/DefaultReads$JsArrayReads$.class

それでも、スクリプトはplayクラスをはるかに下回るパッケージを見つけていません。

$ ./setter-for-catan.scala
./setter-for-catan.scala:12: error: not found: object play
import play.api.libs.json.JsArray
       ^

one error found

何が起こっていて、それを修正するために何をする必要がありますか?

4

2 に答える 2

1

コンパイラ デーモンが異常な状態になっている可能性があります。fsc -shutdownリセットしてみてください。

于 2013-07-04T00:40:03.933 に答える
0

理由はわかりませんが、次の方法で問題を回避できます。

#!/bin/bash

export CLASSPATH=${WORKSPACE}/play-2.1.1/repository/local/play/play_2.10/2.1.1/jars/play_2.10.jar
classpath="${CLASSPATH}"
unset CLASSPATH

exec ${SCALA_HOME}/bin/scala -cp "${classpath}" "$0" "$@" 2>&1
!#

import play.api.libs.json.JsArray
于 2013-07-01T19:22:26.157 に答える