I got an email from a very alarmed JDeveloper user today saying that after migrating his JDeveloper 9.0.4 project to the JDeveloper 10g release that all of his Java classes in all of his projects were showing up under a "Miscellaneous Packages" heading in the application navigator instead of under the appropriate package (as it did in 9.0.4).
When I looked into his testcase, it indeed looked exactly as he claimed.
The application navigator's organization is based on your project's settings for the "Source Path" and the "HTML Root", so I was pretty sure that the explanation lied there. Since it was a Swing-based project there was no web content, so I focused my attention on his project's Source Path settings.
He had a fairly routine source path setting of something like the src subdirectory of the project's root directory. In fact, that will be the default. However, down at the file system level, I noticed that his source directory was actually named Src with a capital "S". When I either:
- Changed the source path to reflect Src with a capital "S", or
- Renamed the Src directory on the file system to reflect the src specified in the project source path
then everything went back to normal and the classes showed up in the right packages again. Apparently some bug fix went in, probably to make something work correctly when running JDeveloper on Linux (or Non-Windows platforms, in general), and now we are properly case-sensitive on all platforms in this regard.
So, the moral of the story is, in JDeveloper 10g if you ever get classes showing up in a "Miscellaneous Packages" folder, immediately suspect a case-mismatch in either the source path (and its corresponding file system directory) or possibly a case mismatch in the *.jpr file entries that track the relative URL path's to the files included in the project.
12:22:48 AM
|