How Does Working With eclipse Work?

Up until now I have been manually synchronising my IDEA project (*.iml) with the eclipse project (.classpath).
I had never really investigated the option of using the .classpath dependency storage format.

When I switched today an extra *.eml file appeared.
This contains entries like:

     <lib name="ojdbc6.jar" scope="COMPILE">
          <relative-module-cls project-related="jar://$PROJECT_DIR$/lib/ojdbc6.jar!/"/>

However, it doesn't contain all the jars in my project.
The ones that are missing are referenced via path variables.

However, they do pop up if I attach source:

     <lib name="commons-httpclient-3.1.jar" scope="COMPILE">
          <srcroot url="file://$MODULE_DIR$/../../commons-httpclient-3.1.jar.src"/>

Why is that? Why aren't they in there from the start?

Is the classpath order taken from the .classpath file or the eml file or are they supposed to synchronised?

What happens if an eclipse user updates the .classpath file and I update from version control?
Will the eml file update automatically then I just check in the eml?

1 comment
Comment actions Permalink


Basically .eml file stores settings, that are impossible to store in eclipse .classpath format. If .classpath is enough for some entry, then .eml is not updated.

If a) .classpath content is correct and b) IDEA dependencies in Project Structure dialog are correct, then all goes right.



Please sign in to leave a comment.