Software Runtime
Java Classpath Debugging Guide
Debug classpath, missing classes, duplicate jars and service runtime differences in Java apps. This page is written as a practical engineering reference: it starts with evidence, keeps risky assumptions visible and links the next useful Formalint checks.
Use it when a ticket, incident or pull request needs a repeatable explanation rather than a quick guess. Keep secrets, customer data and production tokens out of browser tools and shared notes.
When this page is useful
- You need a small, shareable diagnostic sequence.
- You want to compare shell output, payload shape or parser behavior before changing code.
- You are preparing notes for another developer, DBA or support engineer.
Practical workflow
| Step | What to verify |
|---|---|
| Verify the active runtime | Capture version, package manager, path and service environment before editing source code. |
| Compare shell and service | A command working in an interactive shell does not prove the deployed process uses the same setup. |
| Pin dependency evidence | Keep the command that proves which package, jar, ini file or script actually ran. |
Command or pattern to start with
java -XshowSettings:properties -version
jar tf app.jar | head
mvn dependency:treeReview checklist
- Confirm the environment where the symptom happens.
- Use a redacted sample that is still realistic enough to reproduce the behavior.
- Keep request headers, payloads, logs and timestamps together.
- Change one variable at a time so the result stays explainable.
- Link the final note to a related Formalint reference for the next person.
Common mistake
The common trap is debugging the source file while the running process uses a different runtime or dependency path.
Formalint is strongest when it becomes part of the incident rhythm: reduce the sample, format the evidence, verify the assumption and only then change the system.
Related Formalint references
Continue with Nodejs Runtime Guide, Python Runtime Guide, Php Runtime Guide.
Frequently asked questions
Can I paste production data into this workflow?
No. Use redacted or synthetic examples. The workflow is about evidence order, not copying sensitive systems into a browser.
Is this a replacement for logs and tests?
No. Treat it as a field guide that helps you decide which logs, tests and commands matter first.