首页 > 解决方案 > 我在 scala 类上尝试 javap -p classname 但在 REPL 中出错

问题描述

scala> class Department( val departmentId: Int, val departmentName: String)
defined class Department
scala> javap -p Department
<console>:12: error: not found: value javap
       javap -p Department
       ^
<console>:12: error: not found: value p
       javap -p Department
              ^

标签: scalaread-eval-print-loopjavapscala-repl

解决方案


您不能javap像在普通 shell 中一样调用程序,因为 Scala REPL不是shell。

您可以使用内置命令:javap

scala> class Department( val departmentId: Int, val departmentName: String)
defined class Department

scala> :javap -p Department
Compiled from "<console>"
public class $line4.$read$$iw$$iw$Department {
  private final int departmentId;
  private final java.lang.String departmentName;
  public int departmentId();
  public java.lang.String departmentName();
  public $line4.$read$$iw$$iw$Department(int, java.lang.String);
}

从 REPL :help

:javap <path|class> 反汇编文件或类名


推荐阅读