可以說我有一個名爲Scope的類,它具有一個名爲Variable的嵌套類,我如何使用javap -s
來獲取類中的JNI簽名?我試着做爲嵌套類的方法獲取JNI簽名
javap -classpath <classpath> -s Scope$Variable
,但這似乎並沒有工作。似乎只是給我提供了與我只輸入「範圍」而不是「範圍$變量」相同的信息。
感謝所有幫助
可以說我有一個名爲Scope的類,它具有一個名爲Variable的嵌套類,我如何使用javap -s
來獲取類中的JNI簽名?我試着做爲嵌套類的方法獲取JNI簽名
javap -classpath <classpath> -s Scope$Variable
,但這似乎並沒有工作。似乎只是給我提供了與我只輸入「範圍」而不是「範圍$變量」相同的信息。
感謝所有幫助
如果您在Linux/Unix環境下運行javap
,那麼$
將由外殼由javap
解釋,而不是。因此它可以逃脫。最簡單的解決辦法是:
javap -classpath <classpath> -s 'Scope$Variable'
不帶引號的外殼(我假設一個* SH後代)會嘗試與環境變量Variable
的內容來替代$Variable
部分。我假設沒有這樣的變量存在,因此沒有任何東西(如「空字符串」)被替換。因此javap
只看到
javap -classpath <classpath> -s Scope
如果是從Windows上運行的命令,那麼這是不是一個問題,因爲神奇的稟性是%
。
順便說一句:我不知道爲什麼JNI在這裏涉及。
工作對我來說:javap -s com.oracle.net.Sdp$SdpSocket
:
Compiled from "Sdp.java"
class com.oracle.net.Sdp$SdpSocket extends java.net.Socket{
com.oracle.net.Sdp$SdpSocket(java.net.SocketImpl) throws java.net.SocketExcept
ion;
Signature: (Ljava/net/SocketImpl;)V
}