views:

21

answers:

1

I am using Eclipse 3.5 JEE 64 bit on OS X Snow Leopard.

Was wondering how the .classpath file's tag's order gets changed everytime I run a standard Ant build script.

When I manually change the build path order like this (via Eclipse):

  1. Right click on project in Project Explorer.

  2. A context menu opens up

  3. Go to Build Path

  4. Configure Build Path

  5. Click on the Java Build Path Order and Export Tab

  6. Modified the order to look like this:

    • myproject/work/src (moved this to the top)
    • myproject/work/test/unit
    • myproject/work/impl/src

(The myproject/work/impl/src is a linked resource which points to a 2nd Eclipse project which is open in Eclipse at the same time)

The myproject/work/impl/src by default is at the first position for the order. Manually moved myproject/work/src to the top (by clicking on the Up button).

When I run my build script, it seems that the .classpath file (which this order is written to behind-the-scenes) is reset to how it was before:

Why is this? Where and when does Eclipse modify the .classpath file? How can it be set so people can change the build order manually through Eclipse but the .classpath's build order never gets reset to its defaults? After setting this and building the project by right mouse clicking on my project (not the impl one) and going to Build Project, the order never gets changed. It only resets when the Ant build script is run.

A: 

Where and when does Eclipse modify the .classpath file?

Whenever the classpath is changed.

Your problem could be occurring for any number of reasons. Some of the ones that come to mind first include:

  1. not clicking 'ok' after modifying the order (unlikely)
  2. the .classpath file is changed but not refreshed in the view (select the root project folder and hit F5)
  3. your ant file itself is changing/setting the classpath
  4. one of the plugins (used during your ant build process) modifies the classpath

It seems #3 is most likely.

gmale