My world is without a good list of free Java libraries. What are some of your can't-live-without Java libraries?

Note: To keep this as useful as possible, please remember:

  • Post only one library per answer
  • We don't want duplicate answers, so before posting check if the library has been mentioned already or not
  • When adding a new library, provide a short summary of what it does / why you think it's useful

Consider highlighting or moving some of these libraries into the Java tag wiki.

share|edit|close|undelete|flag
  upvote
 flag
Well, I wasn't actually trying to create a poll, perhaps my "question" is poorly chosen. What I really wanted to do is allow everybody to learn what good Java libraries are out there. – Pyrolistical Sep 24 '08 at 21:42
2 upvote
 flag
The problem with putting your answer in the question itself is that people can't vote on it. You could have a really interesting question but poor answers. In that case, I would want to vote the question up but the answer down but I won't be able to. – Outlaw Programmer Sep 24 '08 at 22:04
  upvote
 flag
I suggest that in a few days you update the question to contain a list of the libraries suggested below (for instance, ordered by number of votes). – jan.vdbergh Sep 26 '08 at 6:01
3  
Since no-one seems to have opinions, I'll just be bold (like they say in Wikipedia) and remove the Summary as it stands now. (If someone wans to re-add it, please consider other options than a categorised list.) – Jonik Jun 8 '09 at 18:12 
1 upvote
 flag
This is a perfect example of an aged question: Some of the answers are obviously out of date (libraries not maintained anymore, features included in never versions of Java). – Martin Schröder Nov 20 '11 at 0:33
show 6 more comments

deleted by Jeff Atwood Jan 3 '12 at 19:36

192 Answers

1 2 3 4 5 7

http://commons.apache.org/

Apache Commons. Nuff said.

share|edit|flag
deleted Jan 3 '12 at 19:36
23 upvote
 flag
It's actually really annoying to see code with custom utility methods/classes that try to do the same thing as commons classes but do it badly. – Michael Rutherfurd Nov 20 '08 at 11:25
24 upvote
 flag
I think commons logging is seriously annoying. It provides nothing useful over log4j. Neither are part of the JDK so they're equally portable. Commons logging just replaces one dependency with another. And it makes logging harder to configure. – Draemon Dec 12 '08 at 13:16
6 upvote
 flag
Take a look at the "Fast" collection classes in Commons-Collections. What a pile of utter, utter rubbish. – oxbow_lakes Feb 12 '09 at 0:08
78 upvote
 flag
Commons is 50% useful stuff and 50% utter crap. – foljs Apr 21 '09 at 16:52
34 upvote
 flag
Many of the apache-commons APIs have outdated concepts, the APIs are badly maintained. It's Sad. – ivan_ivanovich_ivanoff Jun 21 '09 at 0:32
show 11 more comments

Let's not forget the excellent Google Collections library. (Edit: Google Collections was expanded and renamed to Guava. You should not use the library titled "Google Collections" anymore.)

Javalobby's interview with its main developers is a good introduction: What is the Google Collections Library?

Comments by Steve McLeod:
It's gradually altering my whole coding style. Preconditions, Functions, Transformers are stupendous once you get the hang of them.

share|edit|flag
deleted Jan 3 '12 at 19:36
13  
+1. Google Collections seems like the best possible extension to the Java Collections framework one could imagine. The API and its documentation are of high-quality; the library is built to fully utilise Java 5 features (generics, enums, etc); it's been designed by really smart people who've had the possibility to turn to people like Joshua Bloch and Doug Lea for consultation. Read the Javalobby article if you haven't yet! – Jonik Jun 2 '09 at 9:24 
3  
In addition to the Javalobby interview, a good resource for getting to know Google Collections is Kevin Bourrillion's presentation, available on Youtube: part 1: youtube.com/watch?v=ZeO_J2OcHYM; part 2: youtube.com/watch?v=9ni_KEkHfto. It's a tour of the library and its main APIs on a quite technical level. The guy expresses himself very clearly! – Jonik Jun 5 '09 at 13:56 
  upvote
 flag
I understand why they use static 'create' methods instead of ctors. I just don't like it. – KitsuneYMG Nov 21 '09 at 22:18
2
up voted
@Jonik, thanks for this, particularly the link which leads to the other link publicobject.com/2007/09/series-recap-coding-in-small-with.html... great stuff. – Yar Mar 12 '10 at 9:58
5
up voted
Google Collections has been rolled in to Guava Libraries, which has support for primitivies, IO and concurrency among other things (though some parts are Beta and subject to change). Just makes a good thing even better. – ColinD Apr 30 '10 at 16:28
show 2 more comments

Joda Time is an absolute must if you're doing anything beyond the most trivial of date computations.

Note: JSR 310 aims to fix a lot of the problems with the standard Java Date and Time API.

share|edit|flag
deleted Jan 3 '12 at 19:36
3 upvote
 flag
Couldn't agree more – SCdF Sep 25 '08 at 5:37
  upvote
 flag
+1. Might not be needed?? Unless JSR 310 makes my coffee for me I am not changing! – WolfmanDragon Jul 27 '09 at 19:28
3
up voted
I haven't looked at it in depth, but I was under the impression that the proposed API would borrow heavily from the Joda Time project. I believe all of the value objects will be immutable and the primary domain concepts they are modeling look to be quite similar to those in Joda Time. Also, Stephen Colebourne, the project lead from Joda Time is one of the leads on the JSR 310 project as well. If/when this JSR is added to the public release the Joda Time project will likely die off or become radically transformed, and the new API will essentially be what Joda Time 2.0 would have been. – Mike Deck Jul 28 '09 at 5:14
3
up voted
JSR 310 has slipped Java 7. Let's hope it's in Java 8. There won't be a strong reason to change to it if you're already happy using Joda-Time. However, libraries would be able to use it, even using its types in their APIs, without foisting the Joda dependency on all their users. – Kevin Bourrillion Nov 5 '09 at 18:12

Apache Log4j is a well-known logging-library.

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
only if not used in concurrent environment. otherwise, can cause deadlocks – Boris Pavlović Jan 15 '09 at 10:27
3 upvote
 flag
It may depend on what appenders you use, some web sites <cough>stackoverflow</cough> have been known to use database appenders. (Log4net as well). I have never had concurrency issues with log4j used in high volume sites. – David Waters Mar 19 '09 at 16:45
1 upvote
 flag
Having had close contact with log4j code, I must say that it is rather horrible. And horribly synchronized.. basically sad we're stuck with it as a de facto standard. – Boris Terzic Aug 29 '09 at 18:49
7 upvote
 flag
Try Logback or Logback+SLF4j. It includes a log4j-over-slf4j library. – KitsuneYMG Nov 21 '09 at 22:17
3 upvote
 flag
I prefer logback + slf4j over log4j – Piotr Gwiazda Sep 14 '10 at 9:54
show 2 more comments

Spring, used for MVC (Model-View-Controller) projects

share|edit|flag
deleted Jan 3 '12 at 19:36
38 upvote
 flag
Spring is good for a LOT more than MVC projects. – John Meagher Sep 24 '08 at 22:28
  upvote
 flag
I'll second that. It is easy to pick and choose what you want to use in Spring. – Stu Thompson Sep 25 '08 at 6:40
  upvote
 flag
That's what I used it for... anyone with more knowledge is free to edit it for greater clarity. – MidnightGun Sep 25 '08 at 9:06
9 upvote
 flag
That's more of a framework than a development library... – Zombies Dec 1 '08 at 18:34
2 upvote
 flag
Actually, this really should be split apart -- saying Spring is almost likey saying "Apache Jakarta" or "stuff from googlecode", too generic to help. I liked Spring DI, for example, and found Spring MVC not very impressing. Others have other faves. – StaxMan Sep 12 '10 at 4:00
show 4 more comments
share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
Didn't came the xUnit-stuff from the smalltalk-community? – Mnementh Sep 24 '08 at 21:43
  upvote
 flag
You are absolutely right! This wikipedia entry says it all: en.wikipedia.org/wiki/XUnit – Atanas Korchev Sep 24 '08 at 23:21
21
up voted
I'd have put them in two separate answers so that they can be voted on separately – Joachim Sauer Jan 15 '09 at 10:27
3 upvote
 flag
+1 for hibernate. Can't live without it – Shervin Apr 8 '10 at 10:44
  upvote
 flag
Hibernate is rather a framework – Piotr Gwiazda Sep 14 '10 at 9:54
show 1 more comment

Lucene for full text searches without a database.

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
Lucene is actually a database engine specialized for tokenized text searches :) – Esko Aug 4 '09 at 15:10
  upvote
 flag
We used lucene as a client side Object store. we didn't need any of the tokenized searching it provides but just found it the most efficient way to persist and retrieve large amount of java objects. It even proved quicker than a HSQL implementation we tried. – Alb Apr 8 '10 at 12:07
  upvote
 flag
I think Lucene has to be the best open source/3rd party library available keeping in mind the extremely high complexity of it's source code yet it's so simple to use it's API and it's damn powerful to use (millions of documents are indexed and retrieved at lighting fast speed) – Tarun Sapra Oct 17 '11 at 15:54

JfreeChart is the best freely available charting thing available on any platform.

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
A lightweight "cloud computing" alternative to jfreechart is charts4j (charts4j.googlecode.com). – Julien Chastang Dec 26 '08 at 22:58
1  
The JFreeChart API could be much cleaner (my colleagues tell me), and they have managed to break backwards compatibility from time to time. But indeed, you can do nice charts with it - no other free Java library comes close, as far as I know. – Jonik Jan 26 '09 at 18:06 
1 upvote
 flag
@Jonik: +1 to your comment... We use JFreeChart a lot and it's actually quite a crappy and mega-bloated API. It's only real strong selling point is that it is selling for $0 (if you don't count the fact that the authors makes a living selling overpriced documentation). Basically, for quickly uploading data that comes in volume, JFreeCharts simply doesn't cut it. – SyntaxT3rr0r Dec 20 '10 at 23:55
3 upvote
 flag
matplotlib ( matplotlib.sourceforge.net ) is superior for two reasons: 1) the plots are just better 2) documentation is 100% free and verbose – Mike Lyons Aug 13 '11 at 0:35
1 upvote
 flag
matplotlib looks pretty good too. Thanks for the heads-up, Mike. – djsadinoff Aug 19 '11 at 7:30

SLF4J

Surprisingly, this good facade lib for logging (better than commons logging) was still missing.

share|edit|flag
deleted Jan 3 '12 at 19:36
If you added these in separate answers, they could be voted on individually... By the way, JAXB was mentioned already. – Jonik Apr 22 '09 at 6:06 
  upvote
 flag
True, sorry about JAXB, only noticed it after adding (I'll edit it away). Thanks for suggestion! – StaxMan Apr 22 '09 at 18:05
  upvote
 flag
I've voted up Logback, I'll vote this too (simply because people won't know they're the same thing) – Stephen Jun 8 '09 at 23:45
2 upvote
 flag
SLF4J is a facade, Logback is a native implementation of it. – Ivan Dubrov Jun 22 '09 at 5:12

Mockito for easy testing. Allows mocking concrete classes (besides interfaces, of course) as well.

I've written unit tests for years, but Mockito and Easymock impressed me immediately.

share|edit|flag
deleted Jan 3 '12 at 19:36
8  
+1 for Mockito! Unlike Easymock, it was quick for me to "grok", and it actually made tests simpler and easier to understand – Jonik Apr 14 '09 at 11:15 
  upvote
 flag
Throw in PowerMock for the cases Mockito can't cover. – Omer van Kloeten Aug 25 '11 at 20:42

iText for pdf creation. Couldn't live without it.

http://www.lowagie.com/iText/

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
iText is a lov level API. You can also use JasperReports or BIRT – m_pGladiator Jun 15 '10 at 11:03
8 upvote
 flag
Why do people say couldn't live without it?? I'm pretty sure you would live just fine – Shervin Feb 7 '11 at 10:10

Name: XStream

Website: http://xstream.codehaus.org/

Purpose: Out of the box POJO serialization to XML and back again

share|edit|flag
deleted Jan 3 '12 at 19:36
4 upvote
 flag
XStream is a great library, makes generating and reading XML a breeze – Wim Deblauwe Apr 7 '11 at 12:44

Name: Guice

Website: http://code.google.com/p/google-guice/

Purpose: Dependency Injection, ease of testing

share|edit|flag
deleted Jan 3 '12 at 19:36
2 upvote
 flag
I've been using this for 6 months now and I'm so happy I gave it a try! It's awesome! – Mark Renouf Jan 9 '09 at 15:26
4
up voted
Guice is much less flexible and more invasive than Spring. I've used it for some time, struggling with its limitations, before switching to Spring. – Fixpoint Apr 19 '10 at 16:05

For HTML parsing, my big favourite is Jsoup. Its biggest power is support for jQuery-like CSS selectors to select HTML elements of interest.

Here's a kickoff example which summarizes links to all useful free third party libraries of the 1st page of this question.

Document document = Jsoup.connect("http://stackoverflow.com/questions/130095").get();
Elements links = document.select("#answers .post-text a");

for (Element link : links) {
    System.out.println(link.attr("href"));
}

Result:

http://commons.apache.org/
http://code.google.com/p/google-collections/
http://guava-libraries.googlecode.com
http://www.javalobby.org/articles/google-collections/
http://stackoverflow.com/users/2959/steve-mcleod
http://joda-time.sourceforge.net/
https://jsr-310.dev.java.net/
http://logging.apache.org/log4j/
http://www.junit.org/
http://www.hibernate.org/
http://www.springframework.org/
http://lucene.apache.org/java/docs/
http://www.lowagie.com/iText/
http://www.jfree.org/jfreechart/
http://xstream.codehaus.org/
http://www.bouncycastle.org/java.html
http://code.google.com/p/mockito/
http://code.google.com/p/google-guice/
http://www.junit.org
http://tomcat.apache.org
http://www.mortbay.org
http://www.springframework.org
http://www.hibernate.org
http://sourceforge.net/projects/c3p0
http://lucene.apache.org/java/docs/
http://logging.apache.org/log4j/1.2/index.html
http://commons.apache.org
http://poi.apache.org
http://www.pdfbox.org/
http://velocity.apache.org
http://www.easymock.org/
http://www.miglayout.com/
http://www.slf4j.org/
http://www.eclipse.org/swt/
https://swingx.dev.java.net/
http://mina.apache.org/
http://www.mortbay.org/jetty/
http://testng.org/
http://www.jdom.org/
http://jakarta.apache.org/
http://delicious.com/tag/java%20library
http://delicious.com/mortis/java+library
http://delicious.com/robdimarco/java+library
http://jasperforge.org/plugins/project/project_home.php?group_id=102
http://prefuse.org/
http://publicobject.com/glazedlists/
http://seleniumhq.org/
http://seleniumhq.org/projects/ide/
http://java.sun.com/javase/technologies/desktop/media/jai/
https://jai-imageio.dev.java.net
http://www.eclipse.org/aspectj/
http://wicket.apache.org/

Extraordinary simple, isn't it? See also Pros and cons of leading HTML parsers in Java.

share|edit|flag
deleted Jan 3 '12 at 19:36
17  
Pretty nice example! – Jonik Nov 15 '10 at 21:51 
3 upvote
 flag
I've been using JSoup for over a month in a recent project and it really is a great API. Its simple when your needs are simple, but scales up nicely to more complicated problems. The fact that it is very similar to the JQuery Javascript library, and aims to provide similar functionality, is particularly nice. In short, it is a wonderful example of a modern Java library. – sanity Sep 7 '11 at 15:56

Name: The Legion of the Bouncy Castle

Website: http://www.bouncycastle.org/java.html

Purpose: Security/Cryptography

share|edit|flag
deleted Jan 3 '12 at 19:36
7
up voted
Do people really trust a product named "Bouncy Castle" for important security-related things? – Adrian Petrescu Jun 19 '10 at 3:43
12 upvote
 flag
Google does. BC is the default on Android, I believe. – InverseFalcon Aug 16 '10 at 23:35
1 upvote
 flag
@Adrian Petrescu, it's a shame, but people do judge software products (even those not aimed at end-users) by their names. Subversion suffered badly from this. – finnw May 10 '11 at 13:20
  upvote
 flag
didn't bouncy castle once have a fips certificate? uhm. close: bouncycastle.org/wiki/display/JA1/Frequently+Asked+Questions – Ralf Nov 15 '11 at 19:23

Name: Miglayout

Website: http://www.miglayout.com/

Purpose: A powerful layout manager that just works

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
Kinda of like GridBagLayout except that Miglayout you need to memorise all the strings 'commands' as the IDE wont remind you? – willcodejavaforfood Mar 31 '09 at 8:22
3 upvote
 flag
MigLayout can do much more in higher precision. You can use the API too, not just Strings, and the ease of use of the API puts the ugly GridBagLayout API to shame. – haffax Jul 24 '09 at 21:05
  upvote
 flag
@willcodejavaforfood: not like the GridBagLayout. Although you are totally dependent on the docs -- your IDE won't autocomplete the strings -- for 90% of uses MigLayout is easier than GridBagLayout. – Yar Mar 12 '10 at 9:59
  upvote
 flag
Never really thought GridBagLayout is hard to be honest. You kids just need to be spoon fed! :P – willcodejavaforfood Mar 12 '10 at 11:12
  upvote
 flag
FWIW, the problem with GridBagLayout for me was always that it tended to degrade poorly when it couldn't size things how it wanted. This became an issue for me when I demoed an application that naturally wanted a 1024×768 screen across a bunch of machines with 800×600 displays… I don't do GUI programs in Java any more (I tell someone else to do it for me). – Donal Fellows Jun 24 '10 at 8:22

GWT - If your Javascript skills are not adequate enough for stunning AJAX applications

share|edit|flag
deleted Jan 3 '12 at 19:36
1 upvote
 flag
Wow only 6 votes for Google Web Toolkit ?. it's one of the best Java frameworks and should surely be able to beat old-timers like log4j (which is not even that nice compared to say slf4j) – Lars Tackmann Dec 20 '09 at 13:46
  upvote
 flag
Gwt is wonderful. – Ed Pichler Mar 2 '11 at 18:56

easymock for mock objects in unit tests.

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
Why not just use anonymous classes and assert parameters and return appropriate values. – mP. Apr 19 '10 at 11:39
  upvote
 flag
EasyMock is absolutely great, mind-shaking... One can't understand it's power without trying it... – dma_k Aug 13 '11 at 11:04

SWT, though I haven't used it for a while. It yeilds pretty great user interfaces.

share|edit|flag
deleted Jan 3 '12 at 19:36
6 upvote
 flag
IMHO it yields the best GUI's in the Java world without using non-java frameworks like GTK or Qt – Ubersoldat Jan 15 '09 at 10:32
  upvote
 flag
Agreed and add jface on top of SWT and you've got some nice high-level UI Components like trees and tables also. – Alb Apr 8 '10 at 12:03
1 upvote
 flag
SWT uses non-Java frameworks under the hood. That's why it looks so good on so many platforms. – Donal Fellows Nov 2 '11 at 15:48

Guess you all missed Apache POI for interaction with MS Excel !

share|edit|flag
deleted Jan 3 '12 at 19:36

LogBack for logging. After using logback, log4j seems antiquated.

share|edit|flag
deleted Jan 3 '12 at 19:36
3 upvote
 flag
A major drawback of using LogBack is that it does not provide an asynchronous appender. There are a couple contribs in their JIRA, but you have to build them yourself. This makes using LogBack in production a no-go for a lot of folks. – Paul Morie Jun 17 '10 at 18:34

Selenium - automated UI testing (or acceptance testing) framework for web applications. Getting up to speed and making your tests stable enough for fully automated continuous integration probably won't be easy, but once you do, it's quite cool what you can do with Selenium.

In case you're totally new to this, here's a summary: You can write test cases in pure Java, JUnit-style, and when you run them, Selenium launches e.g. Firefox and does all kinds of stuff (clicks on links, types into forms, does assertions about page content, etc.) against your webapp. (This is just one way of using Selenium - you can also record tests with Selenium IDE, or use other languages such as Python or C# to write them.)

share|edit|undelete|flag
deleted Jan 3 '12 at 19:36
2 upvote
 flag
Is this a java library? – Shervin Feb 7 '11 at 10:11
@Shervin. Well, Selenium is a testing framework and Selenium-RC provides a Java interface to using it. Of course, distinction between a library and just a tool isn't very clear cut. But we do have stuff like JUnit, TestNG and Mockito listed here, so why not Selenium? – Jonik Feb 7 '11 at 19:31 
  upvote
 flag
True. Good point. – Shervin Feb 7 '11 at 20:34

AspectJ - a seamless aspect-oriented extension to the Javatm programming language.

Very useful for logging, debugging, testing and more.

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
AspectJ is just awesome. Specially the Load-Time-Weaving feature, that allows embedding aspects without recompiling your application – Camilo Díaz Repka Feb 23 '09 at 22:00
2 upvote
 flag
I wish I could vote this up more than once. People really, really, really have to stop littering code with logging statements. – Dave Jarvis Aug 4 '09 at 20:26
  upvote
 flag
ASpectJ is incredible! High productivity for some tasks. – Ed Pichler Mar 2 '11 at 18:56

TestNG: http://testng.org/

It was mightily useful in creating a database driven web testing framework some years ago. JUnit was too rigid at the time to do what I needed.

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
TestNG is still slightly better than Junit 4. More granular test plan strategies. – Spencer Kormos Oct 6 '08 at 18:23

Name: JDOM

Website: http://www.jdom.org/

Purpose: XML DOM manipulation

share|edit|flag
deleted Jan 3 '12 at 19:36

These two are excellent:

Apache MINA - Well-designed, high-performance, network application framework using Java NIO

Jetty - Easy-to-use, full-featured, embeddable web server and webapp container

share|edit|flag
deleted Jan 3 '12 at 19:36
1 upvote
 flag
I use Jetty all the time. – Mnementh Sep 25 '08 at 15:50
  upvote
 flag
Jetty +1 Mina ? – crowne Dec 7 '09 at 12:08
  upvote
 flag
Please list just one library per answer as the question states. – mcherm Sep 29 '11 at 18:07

Name: SwingLabs

Website: https://swingx.dev.java.net/

Purpose: Extensions to Swing

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
SwingLabs actually has several libraries other than swingx. JXLayer and swing-ws come to mind – KitsuneYMG May 6 '09 at 8:20
  • JUnit for unit testing
  • Tomcat or Jetty as servlet container
  • Spring for configuration and glueing code together
  • Hibernate for object persistence
  • C3P0 for database connection pooling
  • Lucene for fulltext search
  • Log4J for logging
  • Apache Commons for a whole bunch of stuff: language utilities (see StringUtils), special collections, IO, file uploads, validation, etc.
  • POI for reading/writing MS Office file formats
  • PDFBox for manipulating PDFs
  • Velocity for templating

These are all libraries I use or have used and can definitely recommend.

share|edit|flag
deleted Jan 3 '12 at 19:36
24
up voted
If you create a separate post for each suggestion they can be rated individually:-) – johnstok Oct 15 '08 at 20:28
13  
Yeah, now it's impossible to tell which of the 26 votes are meant e.g. for Hibernate and which for Velocity. I think this should be split into separate answers (well, those libs that don't have a separate post yet), or failing that, voted down. – Jonik Jun 2 '09 at 16:29 
21 upvote
 flag
-1 split them. That's part of the question. – mschonaker Oct 7 '10 at 22:02
  upvote
 flag
I would choose Freemarker over velocity. Same basic design, but a little more robust and better supported IMHO. – BillMan Apr 21 '11 at 12:01

I'm quite partial to

JasperReports - report generation libraries

prefuse - visualization toolkit

share|edit|flag
deleted Jan 3 '12 at 19:36
2 upvote
 flag
I've used JasperReports extensively. The API could use more comments, but the combination of iReport and JasperReports is not to be missed. – Dave Jarvis Aug 4 '09 at 20:25
  upvote
 flag
100% for Prefuse! – H-H Dec 3 '09 at 22:06
3
up voted
Two separate posts please so that they can be voted on individually – matt burns Aug 25 '10 at 14:12

Actually not just the commons, but all of Apache Jakarta project has great Java libraries. From MS Office file access to collection utilities to byte code manipulation. The page also lists projects that have moved out of Jakarta (eg: maven).

Another place is http://delicious.com/tag/java+library - several of my colleagues use that combination of tags (language + library) to organize the things they run across (mortis, robdimarco).

share|edit|flag
deleted Jan 3 '12 at 19:36
  upvote
 flag
Please list just one library per answer as the question states. – mcherm Sep 29 '11 at 18:07
1 2 3 4 5 7

Browse other questions tagged or ask your own question.