beawolf - Fotolia
If you were to put together a Java tool list for application development, what would it include? Which Java programming tools should every programmer have ready on his workstation to write, test and deploy Java code efficiently? Well, that's what we're going to address here.
Top Java programming tools list
The Java programming tools question can be tough to answer due to the very large Java ecosystem. You have lots of options to choose from when putting together a Java tools list. Java is a well-established language that continues to place first on the list of those most commonly used in application development.
So, if you've committed yourself to the Java way and need a recommended Java tools list, you've come to the right place. Here's a breakdown of the Java programming tools that stand out from the crowd.
For my money, though, Eclipse remains the best Java IDE. No, it's not the hippest or the prettiest, but it offers several essential features:
- It's free.
- It's open source.
- It's almost two-decades-old, which means it is well-established, well-documented and has a vibrant plug-in ecosystem.
- It's cross-platform.
If your Java IDE preferences are different, I won't argue with you. No single IDE is the best for everyone. But if I had to make a recommendation about which IDE to include in a set of Java tools used in application development, it would be Eclipse.
This may seem like a strange choice to put on an essential Java tools list. Many Java IDEs, including Eclipse, come with built-in Java compilers.
Sometimes, though, it's handy to have a stand-alone compiler. The compiler bundled with your IDE may not work with your code for weird reasons, or you might just want a quick way to compile some Java code from a command line instead of using the IDE.
When it comes to stand-alone Java compilers, Javac is the go-to Java programming tool. It's free, open source, part of the Java Development Kit installation and developed by Oracle, so you know it'll remain well-supported for a long time to come.
Java Decompiler (JD)
There are lots of Java decompilers to choose from. Many are not highly portable. Some either have to be used in conjunction with an IDE or used separately.
Depending on the type of Java work you do, you may or may not need a decompiler. If you do, JD's tools are handy additions to your Java programming tools list.
There are lots of continuous integration (CI) servers to choose from, and most of the popular ones will work just fine for Java code.
However, I tend to consider Jenkins as the best CI server for Java applications. Installing Jenkins is relatively easy, especially when using the distribution that has an executable JAR with an embedded web container. Configuration is equally simple. Furthermore, Jenkins is written in Java. That fact doesn't make Jenkins uniquely suited for Java code integration, but if you're writing in Java, why not use a CI server that is written in Java, too?
Some people write beautiful Java code out of the gate. The rest of us use Java formatters that clean up Java source code.
There are a fair number of Java formatters available, including many commercial options. I prefer JS-Beautify -- a simple, free and open source Java tool for cleaning up code.
JS-Beautify is available through a web interface, but you can also download and run this unobtrusive and lightweight Java programming tool from the command line.
Unlike many other categories of Java programming tools, there aren't as many good options to choose from when it comes to Java unit testing. That's because JUnit has been the top Java unit testing framework for a long time. It integrates well with the Maven command line, and few people have tried to create alternatives.
For testing, JUnit is a crucial Java tool to have at your disposal.
What are the best automated testing tools for Java?
Featuring a familiar cast of characters, like Selenium and The Grinder, here's a tool-centric guide to unit testing, integration testing, load testing and more.
The Java tools list in review
Again, the best Java programming tool is in the eye of the beholder. If your favorite Java tool is not on this list, please don't take it personally.
That said, this list pretty well summarizes what I humbly consider the most important tools to include in your tool set as a Java developer. You may notice the list is skewed toward noncommercial, cross-platform, well-established Java tools, which is because I tend to think those solutions offer the best value.
There are many great commercial Java tools out there, too, and some of the newer tools in the Java ecosystem might be a better fit for some developers than tried-and-true solutions, like Eclipse. But I like my Java tools to be robust and reliable, and those on this list fit that bill.