64

In an Eclipse SVN project I have a problem; when I tried to open a declaration of one class, I got this error:

Problems opening an editor Reason : projectname does not exist.

Also refactoring does not work.

I have searched the web and tried all found solutions but nothing helped. I have downloaded different Eclipse and Java versions and switched to a clean workspace but I still have the problem.

How can I solve my problem or which solution can I try?

Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278
Taegug
  • 641
  • 1
  • 5
  • 3
  • Did you try creating a new project and copying/moving code from the old one? – madth3 Jan 08 '13 at 02:05
  • Did you delete your .metadata folder? – syb0rg Jan 08 '13 at 02:06
  • yes but both does not solve the problem :( or have my team somewhere delete any configuration ? under buildpath i can't do any action and this problem haven't a main class – Taegug Jan 08 '13 at 02:08
  • I faced the same problem. Here is the [question](http://stackoverflow.com/questions/22150139/no-index-in-eclipse-cdt-project-checked-out-from-svn/22167087#22167087) with the solution – Hamzahfrq Mar 04 '14 at 09:00
  • Did you solve this? I just installed Eclipse Luna on Debian 8 and I have the same error trying to open a method declaration. – A.W. May 28 '15 at 11:35

14 Answers14

40

Right Click on the project -> Properties -> Project Facets -> Click on the Configuration Link -> Click on Apply Button -> Click on OK button.

The above steps should set your project as a Java project.

Jay
  • 701
  • 7
  • 19
25

If the project is a multi-module Maven project, then you need to import the child/module projects in addition to the parent/pom project. Then ensure that you only open source files via the child project. Java files opened this way will have the Refactor right-click menu item, and F3 Open Declaration etc. work properly. However if the Java file is opened from the parent project, these Eclipse functions will be missing.

It's quite frustrating when opening a file via a Search result, as the file will be found and listed in both the parent and child project. You need to ensure you only work with the file accessed via the child project.

I can't explain precisely what's going on with Eclipse, but it appears that Eclipse does not recognize the parent project as being Java projects, although it will correctly syntax-highlight the Java files whether they are accessed via the parent or child project.

mrjmh
  • 978
  • 10
  • 12
  • agree with you, I've experienced the same problem and is quite frusttrating to work with parent folders.. have you found any work around? – Jrr Aug 29 '16 at 17:09
  • "_Then ensure that you only open source files via the child project._" Thanks.. Came back from vacation and I had the error described by OP. Turned out I had the incorrect file open in Eclipse.. My brain still need some restarting after the vacation it seems.. ;) – Kevin Cruijssen Jan 05 '17 at 08:16
  • Still happening in 2018 - I've moved all 'pom-only' module placeholder projects into a separate working-set to try & avoid this – Ed Randall Jan 02 '18 at 11:44
  • This problem has been plaguing me for ages. Usually, I'd try one, and if it didn't work, I'd try the other (after search). But this time, I had to close and re-open eclipse to get the child recognized as a project. – Jack BeNimble Mar 04 '19 at 19:53
  • You can turn on the "Hide folders of physically nested modules (experimental)" feature which hides the parent folders. It is currently under Window -> Preferences -> Maven -> "Hide folders of physically nested modules (experimental)" – Tim Perry Mar 30 '21 at 18:24
6

You needed to to check it out as a Java Project, or preferably, its creator should have committed the .project and .classpath files for it.

nitind
  • 19,089
  • 4
  • 34
  • 43
  • 1
    I'm having this problem and would like Eclipse to generate those for me based on my POM – Crowie Jul 31 '14 at 08:34
  • 2
    You're not the OP, but ok. For that one you clone the repository and then use the (I think) Import as Maven project wizard (instead of going through the Git Repositories view as usual). – nitind Jul 31 '14 at 14:53
3

I had this problem, too. It looks like after a search-in-workspace Eclipse opened a wrong file.

I pressed Ctrl + Shift + H (Open Type in Hierarchy), typed in the class name, and opened it. The file opened in a new tab, and everything was navigable again.

The difference in icons is:

the non-navigable J is in a contour font

lcguida
  • 3,787
  • 2
  • 33
  • 56
18446744073709551615
  • 16,368
  • 4
  • 94
  • 127
2

you can solve the problem by create a new java project. when you check out the project,you should select the default option, [Check out as a project configured using the new project wizard].

Scoket Joe
  • 107
  • 1
  • 2
  • 10
2

It might lack a builder. Check your PROJ_HOME/.project that should be like:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>the-one-user</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

Ref: FAQ How do I add a builder to a given project?

SparkAndShine
  • 17,001
  • 22
  • 90
  • 134
2

Are you importing a maven project? If you importing a maven project, a file will be viewed in few perspective, especially if you open the file via "Open Resource (Ctrl + Shift + R)".

enter image description here

Let's look at the example above, "servlet-filter" (mark as 1) imported as maven project, and maven perspective project created in 2. If you open a file in 1, your "Open Declaration F3" will no work, because it is not a valid maven project. It will work if you open the same file in 2.

Hope this helps.

Sam YC
  • 10,725
  • 19
  • 102
  • 158
1

You need to import it as a Java/Maven project. Once you are done importing the project do the following steps

Go to Project -> Select Properties -> Select Project References -> Select/Check all the dependent/Child projects which you reference in the code base -> Apply and Close

Once you are done, try to clean the whole project. This should solve the issue.

0

There is a bug in Eclipse (in Luna at least) for a very specific workflow, which might not be the answer to this specific question, but might be helpful for others.

If you perform an import into the src (meaning src folder has focus before performing import) folder from an extracted jar (as source code), and you place breakpoints in the nested *.java files in the nested packages, it won't hit those breakpoints. In order to get things to work, you must keep hitting F3 instead of using "Open Declaration" to get to the *.java file you want to set a breakpoint in, then add the breakpoint by double clicking in the far left margin. Then Run > Debug As > Java Application.

JustBeingHelpful
  • 18,332
  • 38
  • 160
  • 245
0

If the format of the project you checked out is of type Maven, you need to convert it to a Maven project first. It may be because the required classes haven't been generated yet. To do this, right-click on the project, click Configure, and then click Convert to Maven Project.

gallea01
  • 82
  • 1
  • 8
0

I had the same in Eclipse Luna on Debian 8. I was missing the .classpath file when checking out from SVN. I manually copied it and changed some path names, refreshed the project and it was working again.

A.W.
  • 2,858
  • 10
  • 57
  • 90
0

It happens, when libraries are not available on class path of the project where F3 does not work. Select any other project and try to use f3 for navigation. It will work.

The solution is to add JAR files in your libraries or add libraries in your project. Try to use MAVEN project so that the problem can never occur.

New Bee
  • 390
  • 3
  • 10
0

I am using Eclipse Oxygen.2 (4.7.2). I don't see Project Facets after clicking project -> Properties. My solution is right click the project and click Configure, then select configure and detect nested projects, Eclipse will automatically generate the nested projects for you. May get some build errors in the new created projects, that should be easy to fix.

Ellen
  • 11
-2

Go to Project properties,Select Project Facets then convert to project facets then click Ok then you will able to open editor.