Outil pour vérifier le nom du package et le nom de classe de la classe dans un fichier .class

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

  •  29-09-2019
  •  | 
  •  

Question

Y at-il un certain outil ou technique pour me laisser interroger le contenu du fichier de Java? Je veux savoir le nom complet de la classe et quelle méthode elle définit. Je pensais que peut-être javap pourrait me aider avec cela, mais je ne peux pas comprendre comment.

Était-ce utile?

La solution

  

La classe dans le fichier .class toujours le même que le nom du fichier (hors .class)

Dans la pratique, oui. Chaque implémentation Java que je suis venu à travers repose sur fichier de classe pour localiser les classes noms de fichiers à charger, etc.

En théorie, un classloader peut utiliser un autre mécanisme, et donc peut cours de magasin dans les fichiers sans rapport avec les noms de classe. Cependant, je ne vois aucun avantage à le faire.

  

même si j'utilise une autre langue, comme Groovy, Jython ou Scala?

Étant donné que ces langues compilent aux fichiers bytecode qui sont ensuite chargés par les chargeurs de classe standard, il est à peu près un étant donné que les noms de classe dans les fichiers bytecode correspondent aux fichiers noms de fichiers ... sinon les chargeurs de classe ne serait pas être en mesure de localiser les fichiers de classe. Cependant, cela ne signifie pas nécessairement que les noms de classe dans les fichiers bytecode sont identiques à Scala / Jython / Groovy les identifiants utilisés dans le code source. , C'est en effet même pas vrai pour Java; par exemple. les noms de ClassFile pour les classes anonymes et internes pour ne pas les mêmes que les identifiants dans le code source Java.

Autres conseils

Appel javap ClassName (non javap ClassName.class).

Si votre .class juste javap ClassName
Si votre .class est dans un sous-javap path/to/ClassName ou javap path.to.ClassName


Ressources:

Essayer cette Java Decompiler . Pourquoi devriez-vous donner les informations que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top