Community
Participate
Working Groups
Eclipse version 2.1 (build id: 200302061700), jsdk 1.4.1_01 The problem I encountered was when I created an inner class and then attempted to use the refactering tool to rename the inner class by capitalizing the first letter. Once the refactering was completed the following error was received in the tasks window: "A class file was not written. The project may be inconsistent, if so try refreshing this project and rebuilding it." By refactering the inner class helloWorld to HelloWorld, the error is generated. However, if I refacter the helloWorld to ThisIsATest then no problems are encountered. It appears to be a case sensitivity issue. This same error occurs even if the refactering is done manually. Doing a rebuild of the project does correct the problem. The following is a sample test class that I used to confirm the defect with. ******************************************************************** public class MyTest { public static void main(String[] args) { MyTest mt = new MyTest(); mt.someMethod(); } public void someMethod() { helloWorld world = new helloWorld(new String("Hello")); } public class helloWorld { public helloWorld(String param) { myHello(param); } public void myHello(String param) { System.out.println(param); } } } ********************************************************************
Incremental builder should be resilient with case changes.
The class files are colliding on disk. We do not detect & delete the 'obsolete' class files (defined by the source file) until after the new class files are written. I've add support to catch this case & perform a rebuild.
Hope this isn't too deadly for end users... can't it be scoped to the actual file being compile ?
Verified.
*** Bug 42443 has been marked as a duplicate of this bug. ***