We’ve all been there. You start your journey into Java, and the "basics" feel simple enough. But as soon as you step into backend development, the friction begins.
In the "no-build" ecosystem, managing dependencies shouldn't feel like a chore. Yet, I found myself manually searching for JARs, installing them, and losing track of where they were. I was constantly copy-pasting the same libraries across projects, leading to duplication and a nightmare when trying to reproduce my environment on another machine.
Why did Java feel so much harder to manage than the environments I’d seen in Python (npm/pip)? I wanted the simplicity of a modern package manager without losing the "no-build" freedom.
So, I built jar-cart.
The Problem: Friction and Duplication
When you’re learning or building projects without a massive build tool, you hit a wall:
- Manual labor: Search, download, and manually place JAR files.
- Lack of Reproducibility: Moving a project to a new machine often breaks everything.
- Duplication: You end up with multiple copies of the same library scattered in different project folders.
- No system of record: There’s no simple way to track which version of which dependency you’re actually using.
Introducing jar-cart 🛒
jar-cart is a modern, zero-config package manager and runner designed to bridge the gap between "beginner-friendly" and "production-ready." It provides the structure of an npm/uv-style workflow while respecting the no-build simplicity.
Core Features
- Interactive Blueprints: Run init to set up your project structure in seconds.
- Unified Management: Search for and add dependencies directly from Maven Central.
- Sync & Reproducibility: Keep your dependencies in sync without the overhead of heavy build systems.
- Lifecycle Support: run files, build into portable Fat JARs, and even watch your files for live reloads.
- Cleanup: Easy remove and cache-clear commands keep your local environment lean.
Why I Built This
This tool isn't just about managing files; it’s about reducing the cognitive load for students and developers. I wanted to build something that feels like a natural part of a developer's toolkit—fast, reliable, and invisible when you don't need it.
Looking Ahead
This is version 0.1.0, and it’s just the beginning. I see jar-cart evolving to support even more framework-specific workflows and potentially integrating with traditional build tools if your project outgrows the "no-build" phase.
Join the Journey
This project is open-source, and I’d love for you to try it out. If you’ve ever felt the pain of manual JAR management, give it a spin!
- GitHub Repository: Jar Cart
- Contribute: Feel free to raise a PR—I’m actively looking for feedback and contributors to help shape the future versions.
Let’s make Java development a little less "bloated" and a lot more fun.
Top comments (0)