В Windows 10 я загрузил и установил Eclipse Oxygen [выпуск (4.7.1a) Build id: 20171005-1200], используя Eclipse Установщик.
Затем я создал тривиальный проект Java (без модуля) с помощью мастера создания нового проекта:
public class Demo1 { public static void main(String[] args) { new Demo1().test(0L); } void test(int i) { doStuff(); } void test(long l) { doStuff(); } void doStuff() { String s = "abcde"; s = s.substring(2,4); System.out.print("s="); System.out.println( s.toString()); } }
Он работает нормально, и если я выполню CTL=>Открыть реализацию для test() или doStuff() или System или String или toString() или substr() все в порядке.
Однако для println() и print() отображается сообщение об ошибке:
- Также в журнал ошибок записывается трассировка стека:
!ENTRY org.eclipse.jdt.ui 4 0 23.10.2017 01:42:54.695 !СООБЩЕНИЕ Произошла ошибка при поиске реализаций 'print'. Подробности смотрите в журнале ошибок. !STACK 1 Исключение модели Java: статус модели Java [не указан в пути сборки проекта] в org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement. java:570) в org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:247) в org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:505) в org.eclipse .jdt.internal.core.Openable.generateInfos(Openable.java:241) в org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:505) в org.eclipse.jdt.internal.core.Openable .generateInfos(Openable.java:241) в org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107) в org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:583) ) в org.eclipse.jdt.internal.core.BinaryType.getElementInfo(BinaryType.java:287) в org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:306) в org.eclips e.jdt.internal.core.BinaryType.isInterface(BinaryType.java:725) в org.eclipse.jdt.internal.ui.javaeditor.JavaElementImplementationHyperlink$1.run(JavaElementImplementationHyperlink.java:237) в org.eclipse.jface.operation .ModalContext$ModalContextThread.run(ModalContext.java:119) !SUBENTRY 1 org.eclipse.jdt.core 4 1006 2017-10-23 01:42:54.695 !MESSAGE не находится на пути сборки своего проекта
- Однако после нажатия ОК всплывающее окно Реализация отображается, как и ожидалось, и нажатие PrintStream отправляет меня к правильной реализации метода:
Это похоже на ошибку в Eclipse или ее установщике, но проблема очень простая, но я не вижу никаких отчетов о ней. У меня возникает несколько вопросов:
У кого-нибудь еще есть эта проблема, или она работает?
Есть ли какая-либо конфигурация, которую я мог бы/должен сделать, чтобы исправить это?
Есть идеи, почему Открытая реализация будет выдавать ошибку только для print() и println()?
print()
иprintln()
) из модуляjava.base
без этой ошибки? - person Naman   schedule 23.10.2017