jclassinfo(1)

✨ jclassinfo(1) ✨

okay bestie so this is the jclassinfo manual page, from the utils corner of the man-page universe, and it's literally about peeking inside Java class files like the nosy icon you are πŸ’…


πŸŽ€ NAME πŸŽ€

jclassinfo β€” provides information for Java class files. that's it, that's the whole job, and it ATE πŸ“


πŸ¦‹ SYNOPSIS πŸ¦‹

jclassinfo [option] {classname | filename}

🌸 DESCRIPTION 🌸

so jclassinfo reads a class file and hands you all sorts of information about it. all sorts. the range?? unmatched πŸ‘‘

and listen β€” file can be -, and then jclassinfo reads a classfile from standard input. slay, stdin representation 🫢


✨ OPTIONS ✨

  • --help β€” outputs help information and dips (exit). πŸšͺ
  • --version β€” outputs version information and dips. πŸšͺ
  • --bootclasspath=<path> β€” the path used to search for VM bootstrap classes.
  • --classpath=<path> β€” the path used to search for the class, if you're giving a class name.
  • --xml β€” output xml. (experimental!! handle with care bestie πŸ™ˆ)
  • --all β€” prints all information for the class. the full lore. no skimming.
  • --general-info β€” prints some general information about the class.
  • --constant-pool β€” print constant pool.
  • --visibility=<public | package | protected | private | synthetic> β€” the visibility to use when printing class fields/methods. pick your filter, bestie πŸ”
  • --fields β€” print fields.
  • --methods β€” print methods.
  • --disasm β€” enable code disassembly for methods (only if it was compiled with disassembly support, so like… vibe check your build first πŸ’€).
  • --verbose β€” show exception table and max stack and max locals for methods.
  • --method-debug-info β€” show line numbers and local variables for methods.
  • --attributes β€” print class attributes.
  • --packages β€” print packages referenced.
  • --classes β€” print classes/interfaces referenced.
  • --methods-ref β€” print methods referenced.
  • --find-class {classname} β€” find the file(s) that contains the given class(es).
  • --recursive β€” scan dependencies recursively. it goes DEEP πŸ”₯
  • --quiet β€” supress status messages. (yes, spelled exactly like that in the original, we keep it, periodt πŸ’–)

🌈 FILES 🌈

no configuration files for the time being. none. zero. we're free 🧚


πŸ’œ ENVIRONMENT πŸ’œ

CLASSPATH is used to find classes if a class name is given instead of the filename. the --classpath option can be used to override this. πŸ’«

JAVA_HOME is used to find the default bootstrap classpath. the default bootstrap classes are assumed to be in JAVA_HOME/jre/lib/rt.jar. the --bootclasspath option can be used to override this. πŸ’«


πŸ“ EXAMPLES πŸ“

to see what packages a class uses:

jclassinfo --packages /usr/share/java/MyClass.class

to see what packages the classes in myproject folder use:

jclassinfo --packages myproject/*.class

πŸ‘‘ AUTHORS πŸ‘‘

Nicos Panayides <anarxia@gmx.net> β€” the icon who made this, we stan 🫢


😭 REPORTING BUGS 😭

report bugs in:

http://sourceforge.net/tracker/?group_id=74004&atid=539646

please be nice and give them all the deets, ngl πŸ™ˆ


πŸ’… SEE ALSO πŸ’…

javap(1), jcf-dump(1) β€” go say hi to the cousins, iykyk ✨


okay so that's the whole page bestie, nothing skipped, nothing faked. this is jclassinfo version 0.19, straight out of the jclassinfo(1) manual, and that's on periodt πŸ’–πŸŽ€πŸ¦‹