I sometimes have a "lib" project that contains external jars. I don't have as many of them as I used to, however, since I use
Maven a lot now.
There are some cases, however, where I find it better to go all the way back to the source. For example, I need the
J2EE api jars from
tomcat. For that, I define an external library. The Java/Build Path/User Libraries preferences allows me to create a TOMCAT user library and indicate the jars I want, giving their original locations in TOMCAT_HOME/lib. I can then reference that library in individual projects.
There are 2 benefits to that.
1. If I install a new version of Tomcat, I can change the user library and all projects will automatically pick up on it.
2. The ".classfile" will use the symbolic definition instead of absolute filesystem location. So it I check a project into CVS or Subversion and someone else checks it out, they can set up their own definition of the tomcat user library using whatever directory setup their particular machine happens to have.