【问题标题】:Spoon - Applying a Processor勺子 - 应用处理器
【发布时间】:2018-04-18 22:26:53
【问题描述】:

我一直在关注 this 的 Spoon 入门教程。

我在运行以下命令时遇到了困难(位于上面链接中页面的底部):

$ java -classpath /path/to/binary/of/your/processor.jar:spoon-core-{{site.spoon_release}}-jar-with-dependencies.jarspoon.Launcher -i /path/to /src/of/your/project -p 处理器.CatchProcessor

有人可以分解并解释一下这个命令需要什么,特别是“-classpath”之后的部分。

附言。无论如何,我尝试运行命令,我得到的错误是“找不到类 Spoon.Launcher”

【问题讨论】:

    标签: java maven inria-spoon


    【解决方案1】:

    实际上,这个命令需要所有的东西:它是使用处理器的最小命令。 类路径之后的位告诉 Java 在哪里可以找到要加载的类:您需要告诉它在哪里可以找到 Spoon jar 和包含您的处理器的 jar。每个 jar 用冒号 (:) 分隔。有关类路径的更多信息:https://en.wikipedia.org/wiki/Classpath_(Java)

    spoon.Launcher 部分告诉调用包spoon 中的类Launcher。以下是 Spoon 的论点。你有关于这些论点的信息:http://spoon.gforge.inria.fr/command_line.html

    所以首先你必须下载一个版本的 Spoon jar。您可以在那里下载最新版本:https://github.com/INRIA/spoon/releases/download/spoon-core-5.9.0/spoon-core-5.9.0-jar-with-dependencies.jar 然后你必须创建一个处理器并编译它。 然后,您可以通过在类路径中指定下载的 jar 的路径和您的处理器类来使用 Spoon,如上所述。

    另请注意,该文档的最新版本可在此处获得:http://spoon.gforge.inria.fr/first_analysis_processor.html。它将正确显示一些注释,例如spoon_release 编号。

    【讨论】:

    • 嘿,感谢您的帮助 :)。执行命令时我仍然遇到一些麻烦。我收到此错误“线程“main”spoon.compiler.ModelBuildingException 中的异常:无法解析 java.lang.Object 类型。它是从 所需的 .class 文件间接引用的”你有什么想法吗?
    • 您是否使用 IDE 来启动 Spoon?可能和你的JDK配置有关。尝试直接在命令行中启动它。
    • 我从命令行启动它,我的 JAVA_HOME 是 JDK 1.8.0_144。顺便说一句,它在窗户上
    • java -cpspoon-examples-1.0-SNAPSHOT.jar;spoon-core-5.9.0-jar-with-dependencies.jarspoon.Launcher -i "C:\Users\Liam Mullen\工作区\农场\src" -p fr.inria.gforge.spoon.analysis.CatchProcessor
    【解决方案2】:

    我认为你应该考虑另一种更简单的方法(maven-plugin jar)来使用勺子。

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 2022-08-04
      • 2020-12-13
      • 2018-03-09
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多