Bug 28547 Automatic detection of source folders doesn't work
Build 20021216 1. Create folder d:\temp\test\src\p 2. Create file X.java in d:\temp\test\src\p: package p; public class X { } 3. In a fresh workspace, create new Java project 4. Uncheck use default project contents, and point to d:\temp\test 5. Press Finish Observe: You get an error dialog saying that src/P [in Test] does not exist. The problem is that the NewProjectWizard is visiting the tree before it adds the Java nature to the project. It then asks the compilation unit /Test/src/p/X.java for its package declaration. This throws a JavaModeException since the project is not a Java project.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/NewProjectCreationWizardPage.java
import org.eclipse.jdt.ui.PreferenceConstants;
import org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
import org.eclipse.jdt.internal.ui.wizards.buildpaths.BuildPathsBlock;
/**
 * As addition to the JavaCapabilityConfigurationPage, the wizard checks if an existing external
 * location was specified and offers to do an early project creation so that classpath can be detected.
 */
public class NewProjectCreationWizardPage extends JavaCapabilityConfigurationPage {
	private WizardNewProjectCreationPage fMainPage;
	private IPath fCurrProjectLocation;
	private boolean fProjectCreated;
	/**
	 * Constructor for ProjectWizardPage.
	 */
	public NewProjectCreationWizardPage(WizardNewProjectCreationPage mainPage) {
		super();
		fMainPage= mainPage;
		fCurrProjectLocation= fMainPage.getLocationPath();
		fProjectCreated= false;
	}
	
	private boolean canDetectExistingClassPath(IPath projLocation) {
		return projLocation.toFile().exists() && !Platform.getLocation().equals(projLocation);
	}
	
	private void update() {
		IPath projLocation= fMainPage.getLocationPath();
		if (!projLocation.equals(fCurrProjectLocation) && canDetectExistingClassPath(projLocation)) {