Synchronizing Eclipse .classpath in code repository

classpath, eclipse, version-control

Solution

Eclipse `.project` and `.classpath` files are intended/designed to be checked into a version control repository (cvs, svn, git, etc). See this page in the Eclipse wiki.

There are various ways to keep the `.classpath` file "clean" (ie, free from absolute paths), which I mentioned in the Comments section above.

Problem

My team handles several Java projects using Eclipse, and shares the code using a code repository. When a developer adds, removes or updates a `jar` file, the build is broken for everybody else, until they update their build path in Eclipse. This process involves cumbersome email synchronization. For several reasons, we have decided not to commit the `.classpath` file to the repo. Instead, we came up with the following idea: Each project will have a committed file, say `jars.list`, which contains a list of `jar` files (and patterns). A script will convert this file into a local `.classpath` for eclipse. Whenever a developer changes its jars, it is his or her responsibility to change `jars.list` and commit it. Is this a reasonable solution? Are there any existing solutions for this problem?

Original source