A workaround (that Peter might have already discovered), plus a possible explanation to the incident where the mismatch between the uimaj-ep-runtime's embedded JAR names didn't quite match the entries in the MANIFEST.MF.
First, the workaround: As has been previously noticed, launching an Eclipse Application from within Eclipse fails with m2e for the xxx-runtime plugins, because the Eclipse builds for these only have the manifest, no JARs or target/classes for the collection of other projects these are trying to collect.
To work around this, for just the xxx-runtime projects, you can run mvn package, and produce the JAR (which, after the fixes in
UIMA-2560, no longer copy *and unpack* the other project's JARs, they just copy the entire JAR.
Now, for the explanation of why this sometimes works and sometimes doesn't, due to a name mismatch between the MANIFEST.MF's classpath and the actual copied JARs. The JARs are copied using Maven's copy dependendencies. This uses a Maven coordinate to get the JAR. The actual Jar then comes from your .m2 repository, or if not there, from a Snapshot Repository, or MavenCentral, etc.
In this case, what we're looking for is a Jar named xxx-SNAPSHOT. According to Maven conventions, this could be satisfied either with an exact match, or, if the Jar is coming from a Snapshot repository, with a match where the JAR name is something like: uimaj-core-2.4.1-20130410.174534-50.jar.
In my first try (which failed), the MANIFEST.MF had a classpath with names like uimaj-core-2.4.1-SNAPSHOT, and the copied jar file was uimaj-core-2.4.1-20130410.174534-50.jar. So, of course, the classes couldn't be found.
The fix was to run mvn install on each of the included projects, which put into my .m2 repository files with the name
Now, running the mvn package on uimaj-ep-runtime ran the step to copy these artifacts, and Maven's artifact resolution for SNAPSHOTs found the ones with names ending in -SNAPSHOT. With this, my classpath in the MANIFEST.MF and the actual copied names, matched.
To run, I did two things. In the "hosting" Eclipse, I put in the "dropins" directory the uimaj-ep-runtime-2.4.1-SNAPSHOT.jar, and then restarted the hosting Eclipse. Next, in my run configuration for the launcher for the Eclipse Application, in the "plugins" tab, I changed the pull-down to "Launch with plug-ins selected below only", and then in the top section (Workspace) of the selection of plugins, I uncheck the runtime plugin, and in the bottom section (Target Platform) I check the runtime plugin (coming from the dropin).
This selection is saved, so you only need to do it once, or when you want to change something.
With this, my launched Eclipse was able to run the CDE with no problems .