PlantArch is a lightweight and easily configurable tool to generate architecture diagrams from Java classes — inspired by PlantUML and software architecture principles.
- Parses Java classes and packages
- Supports Class Diagrams, Entity-Relationship Models (ERMs), and Sequence Diagrams
- Automatically generates PlantUML-compatible output
- Easily configurable for different project structures
- Helps document and visualize software architecture
Add the following dependency to your pom.xml:
<dependency>
<groupId>io.github.mrdolch</groupId>
<artifactId>plantarch</artifactId>
<version>0.1.2</version>
</dependency>Requires Java 8 or higher
- Class Diagram – shows classes and their relationships (inheritance, dependencies, etc.)
- ERM (Entity-Relationship Model) – useful for database schema visualization
- Sequence Diagram – illustrates object interactions over time
You can find a usage example in the test suite: 👉 ClassDiagramTest.kt
The class diagram shows the dependencies of the ClassDiagram class. Source 👉 ClassDiagramTest.kt
This diagram shows a sequence diagram that was recorded using a JUnit test. Source 👉 SequenceDiagramTest.kt
This is a sample ERM diagram showing the relationships between classes and their members. Source 👉 ErmDiagramTest.kt
This is a sample class diagram showing the dependencies between individual classes. The arrows are color-coded based on the type of dependency. Source 👉 ClassDiagramTest.kt
Contributions are welcome! If you'd like to improve PlantArch, feel free to open a pull request or start a discussion via issues.




