1

PHPプロジェクトをPhantmでスキャンしようとしています。release.jarをダウンロードして実行しています:

    java -jar /path/to/my/phantm-1.0.6.jar

次の例外が発生します:

    Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at phantm.Main.main(Main.scala)
Caused by: java.lang.ClassNotFoundException: scala.ScalaObject
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 13 more

オンラインで読んだのは、scalaがインストールされていなかったためかもしれません。私はscalaをダウンロードして解凍し、そのパスを.bash_profileに追加しました

scala -version
Scala code runner version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL

私は何か他のものが欠けているに違いありません...私はOSXLionを実行しています。

4

1 に答える 1

2

次のことを試してください。

scala /path/to/my/phantm-1.0.6.jar

Scala2.9.2で動作します。PhantmのドキュメントはScalaへの移動(?)で更新されてはなりません。Scalaクラスは間違いなくそのjarに含まれていないからです。

あるいは、Scalaランタイムへのパスを明示的に指定することもできます(もちろん、jarへのパスを変更する必要があるかもしれません)。

java -cp /usr/share/scala/lib/scala-library.jar:phantm-1.0.6.jar phantm.Main

ただし、すでにScalaをインストールしている場合は、このアプローチを好む理由はありません。

于 2012-05-04T22:11:14.450 に答える