// import org.eclipse.jem.workbench.utility.JemProjectUtilities;
// import org.eclipse.jdt.core.IJavaProject;
// import org.eclipse.jdt.core.IClasspathEntry;
/**
* Append one IClasspathEntry to the build path of the passed project. If a
* classpath entry having the same path as the parameter already exists,
* then does nothing.
*/
public static void appendJavaClassPath(IProject p, IClasspathEntry newEntry) throws JavaModelException {
IJavaProject javaProject = JemProjectUtilities.getJavaProject(p);
if (javaProject == null)
return;
IClasspathEntry[] classpath = javaProject.getRawClasspath();
List newPathList = new ArrayList(classpath.length);
for (int i = 0; i < classpath.length; i++) {
IClasspathEntry entry = classpath[i];
// fix dup class path entry for .JETEmitter project
// Skip the entry to be added if it already exists
if (Platform.getOS().equals(Platform.OS_WIN32)) {
if (!entry.getPath().toString().equalsIgnoreCase(newEntry.getPath().toString()))
newPathList.add(entry);
else
return;
} else {
if (!entry.getPath().equals(newEntry.getPath()))
newPathList.add(entry);
else
return;
}
}
newPathList.add(newEntry);
IClasspathEntry[] newClasspath = (IClasspathEntry[]) newPathList
.toArray(new IClasspathEntry[newPathList.size()]);
javaProject.setRawClasspath(newClasspath, new NullProgressMonitor());
}
Java项目classPath的添加
最新推荐文章于 2024-05-12 20:50:12 发布