4949import org .eclipse .m2e .core .MavenPlugin ;
5050import org .eclipse .m2e .core .embedder .MavenModelManager ;
5151import org .eclipse .m2e .core .internal .IMavenConstants ;
52- import org .eclipse .m2e .core .internal .MavenPluginActivator ;
5352import org .eclipse .m2e .core .internal .preferences .MavenConfigurationImpl ;
5453import org .eclipse .m2e .core .project .IMavenProjectImportResult ;
5554import org .eclipse .m2e .core .project .IProjectConfigurationManager ;
5655import org .eclipse .m2e .core .project .LocalProjectScanner ;
5756import org .eclipse .m2e .core .project .MavenProjectInfo ;
5857import org .eclipse .m2e .core .project .ProjectImportConfiguration ;
58+ import org .osgi .framework .Bundle ;
5959
6060@ SuppressWarnings ("restriction" )
6161public class MavenProjectImporter extends AbstractProjectImporter {
@@ -68,6 +68,8 @@ public class MavenProjectImporter extends AbstractProjectImporter {
6868
6969 public static final String POM_FILE = "pom.xml" ;
7070
71+ private static final String STATE_FILENAME = "workspaceState.ser" ;
72+
7173 private Set <MavenProjectInfo > projectInfos = null ;
7274
7375 private IProjectConfigurationManager configurationManager ;
@@ -232,8 +234,14 @@ public void importToWorkspace(IProgressMonitor monitor) throws CoreException, Op
232234 }
233235
234236 private long getLastWorkspaceStateModified () {
235- File workspaceStateFile = MavenPluginActivator .getDefault ().getMavenProjectManager ().getWorkspaceStateFile ();
236- return workspaceStateFile .lastModified ();
237+ Bundle bundle = Platform .getBundle (IMavenConstants .PLUGIN_ID );
238+ if (bundle != null ) {
239+ IPath result = Platform .getStateLocation (bundle );
240+ File bundleStateLocation = result .toFile ();
241+ File workspaceStateFile = new File (bundleStateLocation , STATE_FILENAME );
242+ return workspaceStateFile .lastModified ();
243+ }
244+ return 0l ;
237245 }
238246
239247 private File getProjectDirectory () {
@@ -288,7 +296,7 @@ private Set<MavenProjectInfo> getMavenProjects(File directory, MavenModelManager
288296 }
289297 try {
290298 List <String > folders = directories .stream ().map (java .nio .file .Path ::toAbsolutePath ).map (Object ::toString ).collect (Collectors .toList ());
291- LocalProjectScanner scanner = new LocalProjectScanner (directory . getParentFile (), folders , false , modelManager );
299+ LocalProjectScanner scanner = new LocalProjectScanner (folders , false , modelManager );
292300 scanner .run (monitor );
293301 return collectProjects (scanner .getProjects ());
294302 } catch (InterruptedException e ) {
0 commit comments