How to share the IDEA's Global libraries across a team of developer?

I've been playing with Maven2 and Artifactory (one of Maven2 repository implementation) recently. That gave me some more thoughts about an ever lasting problem:

How to share the IDEA's Global libraries across a team of developer?

It's possible to share an IDEA project with a team, but usually some configuration is always needed to get the project compiling and running on every machine. Why? Mostly because people use different naming for their library (when they use Global Libs). True, you can impose a naming convention, but it's hardly enforceable.
A lot of developer are actually just happy with taking the whole /lib directory of the project. That's what most of them will end up doing unless you give them a wholly configured IDEA instance. Some experienced developer might keep their Global Libs tidy, but then again you fall in the naming problems.

Maven2 gives us a way to reference libs directly in the it's repository. These references always works because Maven2 imposes a naming convention that you must follow if you want to use their repository. This is good, it solves the Global Libs problem: everybody is using either a remote, common, repository or a local one that is guaranteed to be same for everyone.

Well, but how do you reference source code and JavaDoc then?
That's the only problem left I think. If I could store src + doc in the Maven2 repository I'd happy to give up on Global Libs. Another interesting option would be to be able to define a remote repository for the Global Libs. Would TeamCity be able to fill this gap in the future?
How do you guys address this problem in your team?

Please sign in to leave a comment.