Eclipse: The resource is not on the build path of a Java project

JavaEclipseBuildpath

Java Problem Overview


I have been given a source folder (src) of a Java Project. I have created a .project file, kept it inside that folder and imported that project into Eclipse 3.6 through the Import Existing Projects into Workspace Option and added the required jars to it.

Now the problem is that when ever I do a Call Hierarchy on a Project, it displays an alert box saying "The resource is not on the build path of a java project"

Could somebody please let me know how to resolve this?

Please see the image here:

enter image description here

Thanks

Java Solutions


Solution 1 - Java

You can add the src folder to build path by:

  1. Select Java perspective.
  2. Right click on src folder.
  3. Select Build Path > Use a source folder.

And you are done. Hope this help.

EDIT: Refer to the Eclipse documentation

Solution 2 - Java

I am trying to set up a dynamic web project using Eclipse and its Maven plugin. I am selecting maven-archetype-webapp and am facing the same problem (which I run into when trying to automatically produce getters and setters for some attributes).

My way around this was to right-click on the project, select Build Path --> Configure Build Path and then remove a weird exclusion filter "Excluded:**" which I found under the entry /src/main/resources.

Solution 3 - Java

Recently I met a similar problem. When importing a project without a .project file, a default empty .project file was generated without builders. Here is an example .project to make it work.

<buildSpec>
	<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
		<arguments>
		</arguments>
	</buildCommand>
</buildSpec>
<natures>
	<nature>org.eclipse.jdt.core.javanature</nature>
</natures>

Solution 4 - Java

In my case, I had a java project containing many subfolders, each containing its own src folder.

project
-subfolder
--src/main/java
-subfolder2
--src/main/java

There was no options available when I used the Build Path -> right click option, as outlined by other responses.

I had to go to Project -> Properties -> Project Facets and click convert to faceted project.

Then I got all the src folders added to the build path.

Solution 5 - Java

I found a similar issue and fixed it by correcting the .project file. For a Java project the .project file must have the below tag within the natures tag

org.eclipse.jdt.core.javanature


Example of complete .project file

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>SampleProjectName</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>org.maven.ide.eclipse.maven2Builder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>oracle.eclipse.tools.weblogic.sharedLibraryFrameworkValidator</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.jdt.core.javanature</nature>
	</natures>
</projectDescription>

Solution 6 - Java

It means your project isn't on the compilation path of Eclipse. If after the accepted answer the problem still persists, then you need to first place that project on the compilation path.

For that, you need to import the project again into your workspace.

Solution 7 - Java

  1. Delete project from workspace (Uncheck physical deletion of project from disk)
  2. go to project location and delete .project file
  3. Import the project again.

Solution 8 - Java

Using Eclipse Oxygen with a multimodule maven project make sure you're not editing the file in the maven parent project.

This caused the "Open Declaration', 'Open Type Hierarchy' and 'Open Call Hierarchy' to show the dreaded dialog in question. It would even mess with the autocomplete.

Make sure you are not editing the parent project and instead edit the child project to avoid the error.

Solution 9 - Java

Refactor the name of the folder src/main/resource to src/main/java.

Right click the project > Build Path > Use Source Folder.

Solution 10 - Java

Looks like you created your Java class under src/main/resources instead of src/main/java

Solution 11 - Java

If you imported a project from external source with pom.xml after import, go to Project->Properties->Maven and enable Java EE - This will resolve the error

Solution 12 - Java

If you open a file while in a perspective other than Java on a new project that hasn't yet been built and then go back to the Java perspective, you can get this alert message. Close the file and open it back up while in the Java perspective and then retry. Then if that fails the other solutions already provided will be of help.

For example:

  • Import a project that is in a git repository
  • Open the git perspective
  • Open the Git Staging view
  • Right click on a Java source file and select Open Working Tree Version
  • Open the Java perspective.
  • Now the "normal" Java features may not work correctly. Note that the file path is a literal path to the work station not the workspace.

Solution 13 - Java

Seems you imported the project to your workspace from git and not from a local repository. To add a local repository project to the workspace do the following:

Click on project (demoApp) -> imports projects -> finish.

Solution 14 - Java

Right click on your project -> Properties -> Project facets -> Convert -> Select Java in the checkboxes -> Apply and Close

Now you should be able to see your hierarchy.

Solution 15 - Java

All you got to do is move your Project folder under the Src, that is all, it is done. Let me know if any more questions.

Solution 16 - Java

In my case the source folder wasn't specified correctly. To solve the problem :

  • Right click on project name in project explorer
  • Select Properties
  • Select Java Build Path
  • Select Source tab and inspect what is there. Make sure to Add Folder... and select the folder which is the root of your source files.

As a result, you will notice that your folder structure in the project explorer will be modified to display package icons and package names instead.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPawanView Question on Stackoverflow
Solution 1 - JavaAbdulAzizView Answer on Stackoverflow
Solution 2 - JavapkaramolView Answer on Stackoverflow
Solution 3 - JavaAndrewView Answer on Stackoverflow
Solution 4 - JavaulrichView Answer on Stackoverflow
Solution 5 - JavaAmitView Answer on Stackoverflow
Solution 6 - JavaRavish RawatView Answer on Stackoverflow
Solution 7 - JavaSunil NView Answer on Stackoverflow
Solution 8 - JavajmehrensView Answer on Stackoverflow
Solution 9 - JavasapkotaView Answer on Stackoverflow
Solution 10 - JavaKrisView Answer on Stackoverflow
Solution 11 - JavaShanView Answer on Stackoverflow
Solution 12 - Javauser2395139View Answer on Stackoverflow
Solution 13 - JavaMohd QasimView Answer on Stackoverflow
Solution 14 - Javasaurabh kumarView Answer on Stackoverflow
Solution 15 - Javajohnny naveenView Answer on Stackoverflow
Solution 16 - JavaPierre CView Answer on Stackoverflow