Today, I had a strange problem with Eclipse. I have an EJB project with JBoss v4.2 selected in targeted runtimes (project properties) and as such the JBoss v4.2 server runtime classpath variable. I have really no idea what happened, but the effect was that the JBoss classpath entry didn’t show up any longer. My first thought was that maybe the .classpath file got mixed up, but it still contained the required entry. The project properties also contained all the correct information. Just the package explorer didn’t show the entry and it definitely wasn’t there as the build for the project failed because the required classes could not be found.
The <workspace>/.metadata/.log file contained the following error message many times:
!ENTRY org.eclipse.jst.server.core 4 0 2008-07-11 16:24:46.251
!MESSAGE Error calling delegate RuntimeClasspathProviderWrapper[org.eclipse.jst.server.generic.runtimeTarget]: null
So this must have been a bug in resolving the server classpath. I couldn’t find an equivalent problem description, and after playing around with the project settings, adding and removing the library manually, which didn’t help any further, I tried updating the Java Standard Tools. There was indeed a patch available. My previous version of JST was org.eclipse.jst_2.0.2.v200802150100-7B-7_8dDTOvmuz0di_U5vgUfz0em and I installed the patch org.eclipse.jst.web_core.feature.patch_2.0.2.v200803241913-208i8s733I395D6BA7. My Eclipse SDK version used is 3.3.2, Build id M20080221-1800.
After the installation of the patch and a restart of Eclipse, the JBoss v4.2 entry showed up again and the error message didn’t occur any longer in the log file. As I said, I don’t really know what had happened, but the patch might have resolved the issue for me, so maybe this helps someone out there, who runs into the same problem.