in CasViewerEclipsePlugin/uimaj-ep-casviewer/src/main/java/org/apache/uima/casviewer/viewer/internal/GenericCasViewer.java [1315:1364]
public String getProjectClassPath(IFile iFile) {
IJavaProject javaProj = getJavaProject(iFile);
if (javaProj == null) {
return "";
}
IProject projectRoot = javaProj.getProject();
IResource classFileResource = projectRoot.findMember(".classpath"); //$NON-NLS-1$
long stamp = classFileResource.getModificationStamp();
if (stamp == cachedStamp)
return cachedClassPath;
cachedStamp = stamp;
StringBuffer result = new StringBuffer(1000);
String[] classPaths;
try {
classPaths = JavaRuntime.computeDefaultRuntimeClassPath(javaProj);
} catch (CoreException e) {
e.printStackTrace();
return null;
}
for (int i = 0; i < classPaths.length; i++) {
String classPath = classPaths[i];
URLClassLoader checker = null;
try {
// ignore this entry if it is the Java JVM path
checker = new URLClassLoader(new URL[] { new File(classPath).toURL() });
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (null == checker
// || null != checker.findResource("java/lang/Object.class") //$NON-NLS-1$
|| null != checker.findResource("org/apache/uima/impl/UIMAFramework_impl.class")) { //$NON-NLS-1$
Trace.err("Skip calsspath: " + classPath);
continue;
}
if (result.length() > 0) {
result = result.append(PATH_SEPARATOR);
}
result = result.append(classPath);
}
cachedStamp = stamp;
cachedClassPath = result.toString();
return cachedClassPath;
}