16

これはとても簡単な操作のように見えるので、私は愚かなことをしているに違いありません。何らかの理由で、このコマンドを機能させることができません。JDKをインストールしました。

/bin

フォルダ。私はタイプする:

./javap -classpath /home/Matt/workspace/VariablesTestProject/src/ -s VariablesTest.Variable

クラスの実際のファイルパスは

/home/Matt/workspace/VariablesTestProject/src/VariablesTest/Variable.java

私が返すエラーは次のとおりです。

ERROR:Could not find VariablesTest.Variable

ただし、このようなコマンドは機能します。

./javap -s java.lang.String

私が試したコマンドはこれらだけではありません。私は文字通り私が考えることができるすべてのバリエーションを試しました、そしてそれらのどれもうまくいきません。私のjavacコマンドとjavaコマンドはどちらも正常に機能します。

助言がありますか?

4

5 に答える 5

13

Javapは.classバイトコードに対して機能します。したがって、クラスパスをVariablesTestProject/outまたはに向けます。

于 2012-07-11T17:53:16.683 に答える
3

javapコマンドを使用して操作を実行する場合は、最初にcmdプロンプトでjarの場所に移動します。

例えば:

cd /usr/lib/jvm/java-6-openjdk-i386/jre/lib(Linux)

cd D:\javasoftware\Java\jdk1.6.0_43\jre\lib(ウィンドウズ)

上記の場所はrt.jarの場所です。java.lang.Stringは、このjar内のクラスの1つです。

javapを使用すると、このクラスから情報を取得できます。

例えば:

cd /usr/lib/jvm/java-6-openjdk-i386/jre/lib
javap java.lang.String 
于 2013-04-02T10:00:52.027 に答える
3

私が見つけたjavapの最近の使用法の1つは、Windowsで特定のクラスファイルをコンパイルしたJDkのバージョンを確認することです。

javap -v path to .class file | findstr major

これにより、メジャーバージョン番号がわかります。

50-JDK6、51-JDK7、52-JDK8、53-JDK9。

于 2018-10-01T15:10:56.393 に答える
0

JavaでのJavapコマンドの使用法を簡単に理解できるようにします。

  • javapコマンドはツールであるか、クラスファイルを読み取ることができるdissemblerと言うことができます。

以下のようなサンプルJavaプログラムがあります。

class Bank {
   private int code = 210;

   class SBI {
       void display() {
           System.out.println("Code is "+code);
       }
   }

   public static void main(String args[]){
       Bank b = new Bank();
       Bank.SBI sbi = b.new SBI();
       sbi.display();
   }
}

コンパイル後、Bank.classファイルを取得しました。次に、友人のSubbuとNarasimhaから、コンパイル済みのソースファイルのバージョンを尋ねられました。後で、実際に使用されているvikramを確認したい場合は、次のコマンドを使用して、使用されているメソッドなどの基本的な詳細を確認します。このBank.classファイル内。

C:\ >javap Bank.class
Compiled from "Bank.java"
class Bank {
  Bank();
  public static void main(java.lang.String[]);
  static int access$000(Bank);
}

javaには、javawsのようないくつかの機能をチェックするための非常に優れたツールがあります。jconsolejavawsjmapjhatjinfo

于 2018-01-13T19:12:27.767 に答える
0

javapは、組み込みクラス/ユーザー定義クラス/インターフェイス/抽象クラスのJavaプロファイル/メソッド宣言を表示するために使用されるコマンドです。

->事前定義されたクラスのメソッドを表示したい場合は、このパスにjdkをインストールした場合がC:\Program Files\Java\jre1.8.0_171\libあります。rt.jar

->そのrt.jarファイルをD:\ rtフォルダーに解凍し、このフォルダーに移動して、またはその他の事前定義されたパッケージを入力 javap java.util.collectionjavap java.lang.*て、メソッドを確認します。

->ユーザー定義のクラスメソッドを表示する場合は、workspace \ javaproject \ Specificpackage \ binに移動してから入力するjavap classname と、すべてのメソッド宣言を確認できます。

于 2018-07-12T18:12:26.687 に答える