Home > Java > Must have tools for a Java Developer

Must have tools for a Java Developer

Apart from your favourite IDE, I feel, a Java Developer might be very productive with the following tools (in no particular order):

- Firefox (Do I need to say anything about it?)

- Apache Ant (Not needed, if you use NetBeans. NetBeans has got bundled ant)

- JEdit (Mainly for it’s wide range of plugins. I use it’s LogViewer and HexViewer plugin frequently. Also it has got excellent syntax highlighting for your properties file, java files, nsis scripts etc)

- Subversion Version Control System(Got excellent integration with NetBeans and Eclipse. You must consider it atleast for your personal development.) You can read more about installing subversion here.

- Apache Tomcat (The ubiquitous servlet container.)

- Glassfish (The best open source application server, at the moment. Thanks RedHat for making JBoss AS development sluggish. JBoss AS users are waiting for nearly 1 1/2 years for the 5.0 release.)

- Hudson (The fastest growing continuous integration server. This can be an excellent add-on to your ant/maven based build process). You can read more about hudson here.

- Java Service Wrapper (An excellent product to launch your java applications as a windows service)

- CheckStyle/PMD (Excellent code coverage tools to make your source code more maintainable)

- JASYPT (Excellent cryptography library to encrypt/decrypt your passwords, files etc.)

- Apache Commons Library (Contains almost all the utility classes you will ever need. Kindly check this project before writing your own utility classes)

- JUDE Community (An excellent free UML modelling tool. You must definitely give it a try. It’s lightweight and it’s very simple to use.)

- MySQL (The most popular open source database at the moment)

Did anybody say that I forgot to add Google as well :-)

What else do you use? It will be of great use to the community if you can share about your experience as well.

Note: I tend not to include frameworks like Spring, JSF, Wicket etc.. Because you can see these frameworks too are highly subjective and a major reason for lots of flamewars. And that’s the reason why I didn’t mention any IDE as well. Whatever IDE or framework you use, it’s very likely that you might need the above mentioned “tools” except a few like database/application server, whose choice are mostly defined by a particular organization.

You should read this article in the perspective of “tools needed for your personal java development”. Because there are “lots” of factors involved in your work environment regarding the selection of tools.

And lastly, this is my humble suggestion only. So if you find your favourite tool missing, don’t get panic. Cheers… :-)

 

Related posts:

  1. Ubuntu 8.10 – A Productive Java Development Environment
  2. NetBeans 6.7 – A quick glance
  3. Hudson CI Server – A quick start guide
  4. Subversion and NetBeans – A quick start guide
  5. What UML Tools do you use?

  1. March 19th, 2008 at 22:02 | #1

    Interesting post !

    Have you never look at Quartz, it is an excellent scheduler task.

    There is so many API in Java sometime, it is hard to find the best one, isn’t it ?

  2. March 20th, 2008 at 00:04 | #2

    dbVisualizer – best java based database conn/development tool

    http://www.minq.se/products/dbvis/

  3. March 20th, 2008 at 02:07 | #3

    Where we tonight shall camp?….The top blogs of the day. the newest report , see and reply me some comments. Thanks.

  4. James Selvakumar
    March 20th, 2008 at 03:32 | #4

    Hi Cba,
    You are right. I use Quartz as well. It’s an excellent tool as well. But as you said, sometimes it is difficult to find the best one… :-)

  5. March 20th, 2008 at 06:12 | #5

    What about a decent shell?

  6. Anonymous
    March 20th, 2008 at 06:49 | #6

    MySql is the McDonalds of databases. It may be the most popular free database but not the best free database.

  7. Anonymous
    March 20th, 2008 at 08:41 | #7

    Quartz grates against J2EE common sense; now we have EJB timers, only underachievers hurt themselves with Quartz’s runaway threads and DB tables.
    As a database and application server for development, the exact same version of whatever is used in the production environment is appropriate; anything else, even if it’s “better”, is a stupid compatibility hazard.

  8. pureroon
    March 20th, 2008 at 12:57 | #8

    Subversion is an amazing tool, I use it for all my projects!

  9. March 20th, 2008 at 13:34 | #9

    That list seems to me like a random linkage of popular open source projects with no particular purpose or audience. Why would a client-side Java developer have any use for Tomcat, Glassfish or MySQL? Besides, those aren’t tools, but much rather complex infrastructure software catered towards a specific technical domain (Web applications / JEE).

    And what does Firefox have to do with Java development?!

  10. March 20th, 2008 at 14:16 | #10

    Excellent Blog. Thanks for sharing your info.

  11. pauly
    March 20th, 2008 at 15:13 | #11

    Looks more like tools for a web development project.

    Two tools that I think you need to be aware of for Java development are Guice for dependency injection and Google Collections Library for making life so much easier when dealing with Java collections.

  12. Sellotaped
    March 20th, 2008 at 15:45 | #12

    I would agree with Matthias on this one – it seems like just a list of random popular OS projects related to J2EE development.

  13. March 20th, 2008 at 18:55 | #13

    I think PMD/Checkstyle are good but I also like to use FindBugs. There is a nice NetBeans plugin for this also.

  14. Andres
    March 20th, 2008 at 20:02 | #14

    Hey…what about Derby Database…is part of Netbeans!!!better than MySQL (IMHO)

  15. Anonymous Coward
    March 20th, 2008 at 23:35 | #15

    Ostermiller Utils are also a great source of libraries:

    http://ostermiller.org/utils/

  16. Waiting4DeathOfCapitalism
    March 27th, 2008 at 08:48 | #16

    What about SoapUI? Of course, it isn’t specific for java platforms…but it’s so USEFUL!!

  17. ufak
    March 27th, 2008 at 08:59 | #17

    NetBeans IDE 6.1

  18. Krishna R
    March 27th, 2008 at 09:57 | #18

    I’d recommend Glassbox (http://www.glassbox.com/)

    Using AspectJ’s Runtime Weaving, it provides a free readymade performance analyzer for (almost) any kind of java application… moreover, its open-source.. useful to summarize performance, esp during initial stage of profiling…

    Also needed in the list are decompiler, Heap dump analyzer (there’s one hprof reader from SAP, which is free and awesome), Thread dump analyzer…

  19. Terry
    March 29th, 2008 at 15:20 | #19

    You missed the most important tool for java developers:

    http://junit.org/

  20. EduHdez
    March 29th, 2008 at 20:18 | #20

    Why is not maven in the list?

  21. March 31st, 2008 at 07:01 | #21

    11) TestNG for test or JUnit for unit test.

  22. hems
    April 1st, 2008 at 17:44 | #22

    Nice blog…
    JProfiler is best Java profiling tool

  23. November 7th, 2009 at 17:35 | #23

    Maven is missing here? I rather use Maven for my project management

  1. March 20th, 2008 at 04:15 | #1
  2. March 20th, 2008 at 06:39 | #2
  3. March 20th, 2008 at 10:06 | #3
  4. March 31st, 2008 at 05:44 | #4
  5. April 2nd, 2008 at 17:08 | #5
  6. October 5th, 2009 at 14:27 | #6