Tool per verificare nome del pacchetto e il nome di classe della classe all'interno di un file .class

StackOverflow https://stackoverflow.com/questions/3923799

  •  29-09-2019
  •  | 
  •  

Domanda

C'è qualche strumento o tecnica per farmi interrogare il contenuto di un file Java .class? Voglio sapere il nome completo della classe e quale metodo si definisce. Ho pensato che forse javap potrebbe aiutarmi con questo, ma non riesco a capire come.

È stato utile?

Soluzione

  

è la classe contenuta nel file .class sempre lo stesso come il nome del file (esclusi i .class)

In pratica, sì. Ogni implementazione Java che ho incontrato si basa su percorsi di file di classe per individuare le classi da caricare, ecc.

In teoria, un classloader potrebbe usare qualche altro meccanismo, e quindi potrebbe classi di convertirli nel formato che non hanno alcuna relazione con i nomi di classe. Tuttavia, non vedo alcun vantaggio nel farlo.

  

, anche se io uso qualche altra lingua, come Groovy, Jython o Scala?

Dato che nelle lingue compilare ai file bytecode che vengono poi caricati dai caricatori di classi standard, allora è praticamente un dato che i nomi delle classi nei file bytecode corrispondono ai percorsi dei file ... altrimenti i caricatori di classe non lo farei essere in grado di individuare i file di classe. Tuttavia, questo non significa necessariamente che i nomi delle classi nei file bytecode sono identici a Scala / Jython / Groovy gli identificatori utilizzati nel codice sorgente. In realtà, questo non è nemmeno vero per Java; per esempio. i nomi file di classe per le classi anonime e interne per non è la stessa come identificatori nel codice sorgente di Java.

Altri suggerimenti

chiamata javap ClassName (non javap ClassName.class).

Se il .class solo per javap ClassName
Se il vostro .class è in una sottocartella javap path/to/ClassName o javap path.to.ClassName


Risorse:

Java Decompiler . Dovrebbe darvi le informazioni che desiderate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top