package fr.inria.diverse.k3.ui.tools.classpath; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.jdt.core.IClasspathEntry; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.JavaCore; import fr.inria.diverse.commons.eclipse.resources.IFolderUtils; import fr.inria.diverse.k3.ui.Activator; public class ManageClasspathMaven extends ManageClasspath { public ManageClasspathMaven() { super(); } @Override public void setClasspath (IProject project, IProgressMonitor monitor) { try { IJavaProject javaProject = (IJavaProject)project.getNature(JavaCore.NATURE_ID); IFolder sourceFolder = project.getFolder("src/main/java"); try { IFolderUtils.create(sourceFolder,true, true, monitor); } catch (Exception ex) {} IClasspathEntry[] newClassPath = new IClasspathEntry[3]; IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(sourceFolder); newClassPath[0] = JavaCore.newSourceEntry(root.getPath()); newClassPath[1] = JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER")); newClassPath[2] = JavaCore.newContainerEntry(new Path("org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER")); javaProject.setRawClasspath(newClassPath, monitor); IFolder outputFolder = project.getFolder("target/classes"); try { IFolderUtils.create(outputFolder,true, true, monitor); } catch (Exception ex) {} javaProject.setOutputLocation(outputFolder.getFullPath(), monitor); } catch (Exception e) { Activator.logErrorMessage(e.getMessage(), e); } } }