Ответ 1
Щелкните правой кнопкой мыши по проекту → Свойства → Границы проекта → Нажмите ссылку конфигурации → Нажмите кнопку "Применить" → Нажмите кнопку "ОК".
Вышеупомянутые шаги должны установить ваш проект как проект Java.
В проекте SVN Eclipse у меня есть проблема; когда я попытался открыть объявление одного класса, я получил эту ошибку:
Problems opening an editor Reason : projectname does not exist.
Также рефакторинг не работает.
Я искал в Интернете и пытался найти все найденные решения, но ничего не помогло. Я загрузил разные версии Eclipse и Java и переключился на чистую рабочую область, но у меня все еще есть проблема.
Как я могу решить свою проблему или какое решение я могу попробовать?
Щелкните правой кнопкой мыши по проекту → Свойства → Границы проекта → Нажмите ссылку конфигурации → Нажмите кнопку "Применить" → Нажмите кнопку "ОК".
Вышеупомянутые шаги должны установить ваш проект как проект Java.
Если проект является мультимодульным проектом Maven, вам необходимо импортировать проекты child/module в дополнение к проекту parent/pom. Затем убедитесь, что вы открываете только исходные файлы через дочерний проект. Файлы Java, открытые таким образом, будут иметь пункт меню правой кнопки "Refactor", а F3 Open Declaration и т.д. Работать правильно. Однако, если файл Java открывается из родительского проекта, эти функции Eclipse будут отсутствовать.
Это довольно неприятно при открытии файла с помощью результата поиска, так как файл будет найден и указан как в родительском, так и в дочернем проекте. Вам нужно убедиться, что вы работаете только с файлом, доступным через дочерний проект.
Я не могу точно объяснить, что происходит с Eclipse, но похоже, что Eclipse не распознает родительский проект как проекты Java, хотя он будет правильно синтаксически выделять файлы Java, независимо от того, доступны ли они через родителя или ребенка проект.
Вам нужно было проверить это как проект Java, или, желательно, его создатель должен был передать файлы .project и .classpath для него.
вы можете решить проблему, создав новый проект java. когда вы просматриваете проект, вы должны выбрать вариант по умолчанию, [Проверьте, как проект сконфигурирован с использованием мастера создания проекта].
У него может отсутствовать строитель. Проверьте 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: Вопросы и ответы Как добавить конструктор в данный проект?
У меня тоже была эта проблема. Похоже, что после поиска в рабочем пространстве Eclipse открыл неправильный файл.
Я нажал Ctrl + Shift + H (Открыть тип в иерархии), набрал имя класса и открыл его. Файл открылся на новой вкладке, и все снова было судоходным.
Разница в значках:
В Eclipse есть ошибка (по крайней мере, в Luna) для очень специфического рабочего процесса, который может быть не ответом на этот конкретный вопрос, но может быть полезен для других.
Если вы выполняете импорт в папку src (что означает, что папка src имеет фокус перед выполнением импорта) из извлеченного jar (в качестве исходного кода), и вы помещаете точки останова во вложенные *.java файлы во вложенные пакеты, она выиграла 't ударил эти точки останова. Чтобы заставить работать, вы должны использовать F3 вместо того, чтобы использовать "Open Declaration" для доступа к *.java файлу, в который хотите установить точку останова, а затем добавить точку останова, дважды щелкнув в крайнем левом поле. Затем запустите > Debug As > Java Application.
Если формат проекта, который вы проверили, имеет тип Maven, вам нужно сначала преобразовать его в проект Maven. Это может быть связано с тем, что необходимые классы еще не созданы. Чтобы сделать это, щелкните правой кнопкой мыши проект, выберите "Настроить", а затем "Преобразовать в проект Maven".
У меня было то же самое в Eclipse Luna на Debian 8.
При проверке из SVN я отсутствовал файл .classpath
.
Я вручную скопировал его и изменил некоторые имена путей, обновил проект и снова работал.
Это происходит, когда библиотеки недоступны в пути класса проекта, где F3 не работает. Выберите любой другой проект и попробуйте использовать f3 для навигации. Он будет работать.
Решение состоит в том, чтобы добавлять файлы JAR в ваши библиотеки или добавлять библиотеки в ваш проект. Попробуйте использовать проект MAVEN, чтобы проблема никогда не возникала.
Вы импортируете проект Maven? Если вы импортируете проект maven, файл будет просматриваться в нескольких ракурсах, особенно если вы откроете файл через "Открыть ресурс (Ctrl + Shift + R)".
Давайте рассмотрим приведенный выше пример: "сервлет-фильтр" (помеченный как 1), импортированный как проект maven, и перспективный проект maven, созданный в 2. Если вы откроете файл в 1, ваша "Открытая декларация F3" не будет работать, потому что она не является допустимым проектом Maven. Это будет работать, если вы откроете тот же файл в 2.
Надеюсь это поможет.
Вам необходимо импортировать его как проект Java/Maven. После завершения импорта проекта выполните следующие шаги.
Перейдите в Project → Select Properties → Select Project References → Select/Check все зависимые/дочерние проекты, на которые вы ссылаетесь в базе кода → Apply and Close
Как только вы закончите, попробуйте очистить весь проект. Это должно решить проблему.
Перейдите в "Свойства проекта", выберите "Границы проекта", затем преобразуйте в грань проекта, затем нажмите "ОК", после чего вы сможете открыть редактор.
Я использую Eclipse Oxygen.2 (4.7.2). Я не вижу граней проекта после нажатия проекта → Свойства. Мое решение - щелкнуть правой кнопкой мыши проект и выбрать "Конфигурировать", затем выбрать "Настроить и обнаружить вложенные проекты", Eclipse автоматически сгенерирует вложенные проекты для вас. Могут появиться некоторые ошибки сборки в новых созданных проектах, которые легко исправить.