Occasional Thoughts :: Software :: Jaclin
Jaclin
Jaclin (Java Class Infomation) can analyze compiled class files and show the Java version that has been used to compile. It will also show you, whether a class has been compiled in debug mode and which debug levels have been applied.
Usage
Extract the downloaded ZIP or tar/gz file to a directory. A Java Runtime Environment version 5 or higher is required to run Jaclin.
Unix/Linux: Using shell script on Unices:
./jaclin.sh <class file> [<class file>...]
Jaclin will select the used JVM based on the JAVA_HOME environment variable. If
JAVA_HOME is not set, the java executable is used from the PATH environment
variable.
Feel free to create a symbolic link to jaclin.sh in a directory that is in the
path, e.g.
ln -s $HOME/opt/jaclin/jaclin.sh $HOME/bin/jaclin
Microsoft Windows: Use the batch file:
./jaclin.bat <class file> [<class file>...]
Jaclin uses the JVM identified by the JAVA_HOME environment variable.
The script has not been tested yet. If you are a Windows user help is greatly
appreciated.
Other operating systems:
java -jar jaclin.jar <class file> [<class file>...]
Example
Running jaclin on some compiled test files:
> ./jaclin.sh test/data/*
test/data/ByteStreamAnalyzer_invalid.class
ERROR: Not a valid classfile
test/data/ByteStreamAnalyzer_lines.class
Class version: 49.0 (Java 5)
Debug information available: Yes
Debug level(s): lines
test/data/ByteStreamAnalyzer_lines_vars.class
Class version: 49.0 (Java 5)
Debug information available: Yes
Debug level(s): lines vars
test/data/ByteStreamAnalyzer_release.class
Class version: 49.0 (Java 5)
Debug information available: No
test/data/ByteStreamAnalyzer_unknownversion.class
Unknown version.
Debug information available: Yes
Debug level(s): lines
test/data/ByteStreamAnalyzer_vars.class
Class version: 49.0 (Java 5)
Debug information available: Yes
Debug level(s): vars
test/data/ClassAnalyzer_release.class
Class version: 49.0 (Java 5)
Debug information available: No
Download
Binary distribution containing the necessary files only:
BInary distribution containing source code along with the full Eclipse project.
ToDo
I hate ToDo lists, but anyway...
- Ability to analyze JAR files without the need to extract it.
- Recursive reporting of class and jar files in directories.
- Mow the lawn.
License
Released under the terms of the Apache License, version 2.0.
Questions or Feedback?
Please see the 0.1 release announcement and add a comment or vote and comment on Java-Apps.org.