Подтвердить что ты не робот

Объявление Eclipse Open в проекте Java

В проекте SVN Eclipse у меня есть проблема; когда я попытался открыть объявление одного класса, я получил эту ошибку:

Problems opening an editor Reason : projectname does not exist.

Также рефакторинг не работает.

Я искал в Интернете и пытался найти все найденные решения, но ничего не помогло. Я загрузил разные версии Eclipse и Java и переключился на чистую рабочую область, но у меня все еще есть проблема.

Как я могу решить свою проблему или какое решение я могу попробовать?

4b9b3361

Ответ 1

Щелкните правой кнопкой мыши по проекту → Свойства → Границы проекта → Нажмите ссылку конфигурации → Нажмите кнопку "Применить" → Нажмите кнопку "ОК".

Вышеупомянутые шаги должны установить ваш проект как проект Java.

Ответ 2

Если проект является мультимодульным проектом Maven, вам необходимо импортировать проекты child/module в дополнение к проекту parent/pom. Затем убедитесь, что вы открываете только исходные файлы через дочерний проект. Файлы Java, открытые таким образом, будут иметь пункт меню правой кнопки "Refactor", а F3 Open Declaration и т.д. Работать правильно. Однако, если файл Java открывается из родительского проекта, эти функции Eclipse будут отсутствовать.

Это довольно неприятно при открытии файла с помощью результата поиска, так как файл будет найден и указан как в родительском, так и в дочернем проекте. Вам нужно убедиться, что вы работаете только с файлом, доступным через дочерний проект.

Я не могу точно объяснить, что происходит с Eclipse, но похоже, что Eclipse не распознает родительский проект как проекты Java, хотя он будет правильно синтаксически выделять файлы Java, независимо от того, доступны ли они через родителя или ребенка проект.

Ответ 3

Вам нужно было проверить это как проект Java, или, желательно, его создатель должен был передать файлы .project и .classpath для него.

Ответ 4

вы можете решить проблему, создав новый проект java. когда вы просматриваете проект, вы должны выбрать вариант по умолчанию, [Проверьте, как проект сконфигурирован с использованием мастера создания проекта].

Ответ 5

У него может отсутствовать строитель. Проверьте PROJ_HOME/.project, который должен выглядеть следующим образом:

<?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: Вопросы и ответы Как добавить конструктор в данный проект?

Ответ 6

У меня тоже была эта проблема. Похоже, что после поиска в рабочем пространстве Eclipse открыл неправильный файл.

Я нажал Ctrl + Shift + H (Открыть тип в иерархии), набрал имя класса и открыл его. Файл открылся на новой вкладке, и все снова было судоходным.

Разница в значках:

несуществующая J находится в контурном шрифте

Ответ 7

В Eclipse есть ошибка (по крайней мере, в Luna) для очень специфического рабочего процесса, который может быть не ответом на этот конкретный вопрос, но может быть полезен для других.

Если вы выполняете импорт в папку src (что означает, что папка src имеет фокус перед выполнением импорта) из извлеченного jar (в качестве исходного кода), и вы помещаете точки останова во вложенные *.java файлы во вложенные пакеты, она выиграла 't ударил эти точки останова. Чтобы заставить работать, вы должны использовать F3 вместо того, чтобы использовать "Open Declaration" для доступа к *.java файлу, в который хотите установить точку останова, а затем добавить точку останова, дважды щелкнув в крайнем левом поле. Затем запустите > Debug As > Java Application.

Ответ 8

Если формат проекта, который вы проверили, имеет тип Maven, вам нужно сначала преобразовать его в проект Maven. Это может быть связано с тем, что необходимые классы еще не созданы. Чтобы сделать это, щелкните правой кнопкой мыши проект, выберите "Настроить", а затем "Преобразовать в проект Maven".

Ответ 9

У меня было то же самое в Eclipse Luna на Debian 8. При проверке из SVN я отсутствовал файл .classpath. Я вручную скопировал его и изменил некоторые имена путей, обновил проект и снова работал.

Ответ 10

Это происходит, когда библиотеки недоступны в пути класса проекта, где F3 не работает. Выберите любой другой проект и попробуйте использовать f3 для навигации. Он будет работать.

Решение состоит в том, чтобы добавлять файлы JAR в ваши библиотеки или добавлять библиотеки в ваш проект. Попробуйте использовать проект MAVEN, чтобы проблема никогда не возникала.

Ответ 11

Вы импортируете проект Maven? Если вы импортируете проект maven, файл будет просматриваться в нескольких ракурсах, особенно если вы откроете файл через "Открыть ресурс (Ctrl + Shift + R)".

enter image description here

Давайте рассмотрим приведенный выше пример: "сервлет-фильтр" (помеченный как 1), импортированный как проект maven, и перспективный проект maven, созданный в 2. Если вы откроете файл в 1, ваша "Открытая декларация F3" не будет работать, потому что она не является допустимым проектом Maven. Это будет работать, если вы откроете тот же файл в 2.

Надеюсь это поможет.

Ответ 12

Вам необходимо импортировать его как проект Java/Maven. После завершения импорта проекта выполните следующие шаги.

Перейдите в Project → Select Properties → Select Project References → Select/Check все зависимые/дочерние проекты, на которые вы ссылаетесь в базе кода → Apply and Close

Как только вы закончите, попробуйте очистить весь проект. Это должно решить проблему.

Ответ 13

Перейдите в "Свойства проекта", выберите "Границы проекта", затем преобразуйте в грань проекта, затем нажмите "ОК", после чего вы сможете открыть редактор.

Ответ 14

Я использую Eclipse Oxygen.2 (4.7.2). Я не вижу граней проекта после нажатия проекта → Свойства. Мое решение - щелкнуть правой кнопкой мыши проект и выбрать "Конфигурировать", затем выбрать "Настроить и обнаружить вложенные проекты", Eclipse автоматически сгенерирует вложенные проекты для вас. Могут появиться некоторые ошибки сборки в новых созданных проектах, которые легко исправить.