As recommended in the solution to
IDEA-16836, we are versioning our ipr and iml files in subversion to be shared across team members. However, maven synchronization will result in slightly modified versions on different machines even when the pom.xml has not been changed. As a result, our module iml files often end up in the changes view when no real changes have been made.
The differences are related to whether or not a SNAPSHOT dependency has been built on the local machine or not. For example, if a dependency has been built locally and exists in the local repository the following entry will be found in the iml:
<containerElement type="library" name="com.carbonfive:migration:0.9-SNAPSHOT" level="module">
<attribute name="method" value="1" />
<attribute name="URI" value="/WEB-INF/lib/migration-0.9-SNAPSHOT.jar" />
</containerElement>
When the dependency was not built locally and thus was resolved from a remote repository, the following entry is in the iml:
<containerElement type="library" name="com.carbonfive:migration:0.9-20080225.174438-4" level="module">
<attribute name="method" value="1" />
<attribute name="URI" value="/WEB-INF/lib/migration-0.9-SNAPSHOT.jar" />
</containerElement>
I've included a screen shot of the diff viewer comparing the two versions (maven-iml-differences.jpg).
Some of the developers do build some dependencies locally while others do not, so these files changes come up frequently and what's checked into subversion ping-pong's back and forth. Not only that, developers will see different library names in their IDEs (see dev-a-libs.jpg and dev-b-libs.jpg).
This appears to only be a cosmetic difference, as either version works in either environment. The name is used only for display, no?