-1

在 OSX 上安装 java 后,scala scalding 尝试运行 WordCountJob 文件时出现以下错误

$ scripts/scald.rb --local  WordCountJob.scala --input someInputfile.txt --output ./someOutputFile.tsv

编译 WordCountJob.scala scalac -classpath /Users/me/.sbt/boot/scala-2.9.3/lib/scala-library.jar:/Drive/me/Coding/scalding/scalding-core/target/scala-2.9。 3/scalding-core-assembly-0.9.1.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/hadoop-core-1.1.2.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/ commons-codec-1.8.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/commons-configuration-1.9.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/jackson-asl-0.9.5。 jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/jackson-mapper-asl-1.9.13.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/commons-lang-2.6.jar:/var /folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/slf4j-log4j12-1.6.6.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/log4j-1.2.15.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/commons-httpclient-3.1.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/commons-cli-1.2.jar:/var/folders/5007fth90f7v65djmx856 /T/maven/commons-logging-1.1.1.jar:/var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/maven/zookeeper-3.3.4.jar -d /var/folders/5q/7bth9vvd2tv8q57f737f6jxm0000gn/T/script-在线程“main”中构建 WordCountJob.scala 异常 java.lang.NoClassDefFoundError: scala/tools/nsc/Main 原因:java.lang.ClassNotFoundException: scala.tools.nsc.Main at java.net.URLClassLoader$1.run(URLClassLoader .java:202) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在 sun。 misc.Launcher$AppClassLoader。loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247)

有人知道如何解决这个问题吗?

4

2 回答 2

0

它找不到 Scala 编译器。您需要设置 SCALA_HOME 并将 ./bin 目录添加到您的 PATH:

 export SCALA_HOME=<where you installed scala>
 export PATH=$PATH:$SCALA_HOME/bin
于 2014-05-02T16:07:46.777 回答
0

在某些论坛上,我看到在 JRE 7 中不存在此错误,因此我已更新到 jre 7

$ java -版本
java版本“1.7.0_55”
Java(TM) SE 运行时环境 (build 1.7.0_55-b13)
Java HotSpot(TM) 64 位服务器 VM(内部版本 24.55-b03,混合模式)

使其活跃的唯一方法

export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"

根据在 OS X 10.9 (Mavericks) 上安装 Java

$ 回声 $JAVA_HOME
/Library/Internet 插件/JavaAppletPlugin.plugin/Contents/Home

我将以下行添加到 ~/.profile

export JAVA_HOME=$(/usr/libexec/java_home)
export SCALA_HOME="/usr/local/Cellar/scala/2.9.3"
export PATH=$PATH:$SCALA_HOME/bin

在 /scalding 我想运行 -> sbt 程序集并出现以下错误

[信息] 通过:总计 51,失败 0,错误 0,通过 51
[信息] 检查每个 *.class/*.jar 文件的 SHA-1。
[信息] 合并文件...
[警告] 将 'META-INF/MANIFEST.MF' 与策略 'discard' 合并
[警告] 策略“丢弃”已应用于文件
[信息] 装配最新:/Drive/me/Coding/scalding/scalding-date/target/scala-2.9.3/scalding-date-assembly-0.9.1.jar
[错误] (maple/compile:compile) javac 返回非零退出代码
[错误] 总时间:29 秒,2014 年 5 月 2 日晚上 8:27:30 完成

尝试运行 WordCountJob 时出现以下错误

$ scripts/scald.rb --local WordCountJob.scala --input someInputfile.txt --output ./someOutputFile.tsv
/Drive/me/Coding/scalding/scalding-core/target/scala-2.9.3/scalding-core-assembly-0.9.1.jar 丢失,您可能需要运行 sbt assembly

在本地模式下运行烫伤看起来像是一项不可能完成的任务。

于 2014-05-02T17:45:10.083 回答