1

我正在尝试使用Phantm扫描我的 PHP 项目。我下载了 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

我一定错过了其他东西......我正在运行 OS X Lion。

4

1 回答 1

2

尝试以下操作:

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

使用 Scala 2.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 回答