【问题标题】:JDK-9 won't let me use Strings: "java.lang.String is ambiguous"?JDK-9 不允许我使用字符串:“java.lang.String 不明确”?
【发布时间】:2023-03-19 01:05:02
【问题描述】:

一周前,我的每个项目都正常工作,但是当我将 Eclipse 更新到 Oxygen 版本并安装 JDK-9 时,事情变得奇怪了。 当我尝试使用字符串时,经过一段时间(更像是每次我保存项目时),编译器会为我的项目中的每个字符串抛出一个错误。


字符串类型被识别为不明确的类



“java.lang.String 类型不明确”

所以我尝试导入java.lang.String 看看它是否修复了错误:

导入后

"包 java.lang 可以从多个模块访问:java.base, java.base"

惊喜! ??????

它没有:(
我曾尝试在 Google 和 SO 上搜索这些消息,但我一无所获... 但是,在JDK 8中运行的代码似乎运行正常,查看一下:

改用 JDK 8 (1.8.0_72)

(代码在Apply之前没有显示任何错误,因为我已经申请了,并再次打开编译器首选项以获取屏幕截图)

控制台错误:

错误:在类me.mateusakino.ypul.yPuLTester中找不到主方法,请将主方法定义为:
public static void main(String[] args) 或者 JavaFX 应用程序类必须扩展 javafx.application.Application

编辑 1 - 主类

EDIT 5 - Edit 4 (workspace/.metadata/.log) 上的错误堆栈跟踪

!SESSION 2017-10-13 13:11:39.551 -----------------------------------------------
eclipse.buildId=4.7.1.M20171009-0410
java.version=9
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

This is a continuation of log file C:\Users\Home\Desktop\Developer Folders\Java\Oxygen Workspace\.metadata\.bak_0.log
Created Time: 2017-10-13 13:43:14.245

!ENTRY org.eclipse.core.resources 4 75 2017-10-13 13:43:14.245
!MESSAGE Errors occurred during the build.
!SUBENTRY 1 org.eclipse.jdt.core 4 75 2017-10-13 13:43:14.245
!MESSAGE Errors running builder 'Java Builder' on project 'yPuL'.
!STACK 0
java.lang.NullPointerException
    at org.eclipse.jdt.internal.compiler.lookup.ModuleBinding$UnNamedModule.canAccess(ModuleBinding.java:71)
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:230)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getPackage(Scope.java:2922)
    at org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.getTypeBinding(QualifiedTypeReference.java:108)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.getTypeBinding(ArrayQualifiedTypeReference.java:93)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:495)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.internalResolveType(ArrayQualifiedTypeReference.java:107)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:586)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:582)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesWithSuspendedTempErrorHandlingPolicy(SourceTypeBinding.java:1932)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor(SourceTypeBinding.java:1835)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1525)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.internalFaultInTypeForFieldsAndMethods(SourceTypeBinding.java:907)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:902)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:514)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:882)
    at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:141)
    at java.base/java.lang.Thread.run(Thread.java:844)

!ENTRY org.eclipse.core.resources 4 2 2017-10-13 13:43:24.691
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException

!ENTRY org.eclipse.core.resources 4 75 2017-10-13 13:43:24.695
!MESSAGE Errors occurred during the build.
!SUBENTRY 1 org.eclipse.jdt.core 4 75 2017-10-13 13:43:24.695
!MESSAGE Errors running builder 'Java Builder' on project 'yPuL'.
!STACK 0
java.lang.NullPointerException

!ENTRY org.eclipse.core.resources 4 2 2017-10-13 13:43:39.104
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException

!ENTRY org.eclipse.core.resources 4 75 2017-10-13 13:43:39.110
!MESSAGE Errors occurred during the build.
!SUBENTRY 1 org.eclipse.jdt.core 4 75 2017-10-13 13:43:39.110
!MESSAGE Errors running builder 'Java Builder' on project 'yPuL'.
!STACK 0
java.lang.NullPointerException

!ENTRY org.eclipse.core.resources 4 2 2017-10-13 13:44:37.810
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException
    at org.eclipse.jdt.internal.compiler.lookup.ModuleBinding$UnNamedModule.canAccess(ModuleBinding.java:71)
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:230)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getPackage(Scope.java:2922)
    at org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.getTypeBinding(QualifiedTypeReference.java:108)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.getTypeBinding(ArrayQualifiedTypeReference.java:93)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:495)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.internalResolveType(ArrayQualifiedTypeReference.java:107)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:586)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:582)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesWithSuspendedTempErrorHandlingPolicy(SourceTypeBinding.java:1932)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor(SourceTypeBinding.java:1835)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1525)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.internalFaultInTypeForFieldsAndMethods(SourceTypeBinding.java:907)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:902)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:514)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:882)
    at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:141)
    at java.base/java.lang.Thread.run(Thread.java:844)

!ENTRY org.eclipse.core.resources 4 75 2017-10-13 13:44:37.814
!MESSAGE Errors occurred during the build.
!SUBENTRY 1 org.eclipse.jdt.core 4 75 2017-10-13 13:44:37.814
!MESSAGE Errors running builder 'Java Builder' on project 'yPuL'.
!STACK 0
java.lang.NullPointerException
    at org.eclipse.jdt.internal.compiler.lookup.ModuleBinding$UnNamedModule.canAccess(ModuleBinding.java:71)
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:230)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getPackage(Scope.java:2922)
    at org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.getTypeBinding(QualifiedTypeReference.java:108)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.getTypeBinding(ArrayQualifiedTypeReference.java:93)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:495)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.internalResolveType(ArrayQualifiedTypeReference.java:107)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:586)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:582)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesWithSuspendedTempErrorHandlingPolicy(SourceTypeBinding.java:1932)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor(SourceTypeBinding.java:1835)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1525)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.internalFaultInTypeForFieldsAndMethods(SourceTypeBinding.java:907)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:902)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:514)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:882)
    at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:141)
    at java.base/java.lang.Thread.run(Thread.java:844)

!ENTRY org.eclipse.core.resources 4 2 2017-10-13 13:44:53.701
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException
    at org.eclipse.jdt.internal.compiler.lookup.ModuleBinding$UnNamedModule.canAccess(ModuleBinding.java:71)
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:230)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getPackage(Scope.java:2922)
    at org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.getTypeBinding(QualifiedTypeReference.java:108)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.getTypeBinding(ArrayQualifiedTypeReference.java:93)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:495)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.internalResolveType(ArrayQualifiedTypeReference.java:107)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:586)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:582)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesWithSuspendedTempErrorHandlingPolicy(SourceTypeBinding.java:1932)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor(SourceTypeBinding.java:1835)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1525)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.internalFaultInTypeForFieldsAndMethods(SourceTypeBinding.java:907)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:902)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:514)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:882)
    at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:141)
    at java.base/java.lang.Thread.run(Thread.java:844)

!ENTRY org.eclipse.core.resources 4 75 2017-10-13 13:44:53.706
!MESSAGE Errors occurred during the build.
!SUBENTRY 1 org.eclipse.jdt.core 4 75 2017-10-13 13:44:53.706
!MESSAGE Errors running builder 'Java Builder' on project 'yPuL'.
!STACK 0
java.lang.NullPointerException
    at org.eclipse.jdt.internal.compiler.lookup.ModuleBinding$UnNamedModule.canAccess(ModuleBinding.java:71)
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:230)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getPackage(Scope.java:2922)
    at org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.getTypeBinding(QualifiedTypeReference.java:108)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.getTypeBinding(ArrayQualifiedTypeReference.java:93)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:495)
    at org.eclipse.jdt.internal.compiler.ast.ArrayQualifiedTypeReference.internalResolveType(ArrayQualifiedTypeReference.java:107)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:586)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:582)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesWithSuspendedTempErrorHandlingPolicy(SourceTypeBinding.java:1932)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypesFor(SourceTypeBinding.java:1835)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.methods(SourceTypeBinding.java:1525)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.internalFaultInTypeForFieldsAndMethods(SourceTypeBinding.java:907)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:902)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:514)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:882)
    at org.eclipse.jdt.internal.compiler.ProcessTaskManager.run(ProcessTaskManager.java:141)
    at java.base/java.lang.Thread.run(Thread.java:844)
!SESSION 2017-10-13 13:46:42.392 -----------------------------------------------
eclipse.buildId=4.7.1.M20171009-0410
java.version=9
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

!ENTRY org.eclipse.jface 2 0 2017-10-13 13:46:49.852
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2017-10-13 13:46:49.852
!MESSAGE A conflict occurred for CTRL+TAB:
Binding(CTRL+TAB,
    ParameterizedCommand(Command(org.eclipse.ui.window.nextEditor,Next Editor,
        Switch to the next editor,
        Category(org.eclipse.ui.category.window,Window,null,true),
        org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5e8359da,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+TAB,
    ParameterizedCommand(Command(org.eclipse.ui.window.nextEditor,Next Editor,
        Switch to the next editor,
        Category(org.eclipse.ui.category.window,Window,null,true),
        org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@5e8359da,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)
!SUBENTRY 1 org.eclipse.jface 2 0 2017-10-13 13:46:49.852
!MESSAGE A conflict occurred for CTRL+SHIFT+TAB:
Binding(CTRL+SHIFT+TAB,
    ParameterizedCommand(Command(org.eclipse.ui.window.previousEditor,Previous Editor,
        Switch to the previous editor,
        Category(org.eclipse.ui.category.window,Window,null,true),
        org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@36b6802f,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+SHIFT+TAB,
    ParameterizedCommand(Command(org.eclipse.ui.window.previousEditor,Previous Editor,
        Switch to the previous editor,
        Category(org.eclipse.ui.category.window,Window,null,true),
        org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@36b6802f,
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)

!ENTRY com.vaadin.designer2 1 0 2017-10-13 13:47:00.882
!MESSAGE Schedule fetching all notifications

!ENTRY com.vaadin.designer2 1 0 2017-10-13 13:47:02.845
!MESSAGE Parse notifications

!ENTRY com.vaadin.designer2 1 0 2017-10-13 13:47:03.278
!MESSAGE Requesting user info (notification settings URL)

!ENTRY com.vaadin.designer2 1 0 2017-10-13 13:47:04.704
!MESSAGE HTTP Response code :200

!ENTRY org.eclipse.egit.ui 2 0 2017-10-13 13:47:06.014
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\Home'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

!ENTRY org.eclipse.dltk.core 4 0 2017-10-13 13:47:07.129
!MESSAGE Unable to find any indexer

!ENTRY org.apache.ivyde.eclipse 1 0 2017-10-13 13:48:10.554
!MESSAGE starting IvyDE plugin

!ENTRY org.apache.ivyde.eclipse 1 0 2017-10-13 13:48:10.571
!MESSAGE IvyDE plugin started

!ENTRY org.eclipse.ui 2 2 2017-10-13 13:48:12.395
!MESSAGE Invalid property category path: org.eclipse.cdt.managedbuilder.ui.properties.Page_head_build (bundle: org.eclipse.cdt.ui, propertyPage: org.eclipse.cdt.managedbuilder.ui.properties.BuildLogPreferencePage)

!ENTRY org.eclipse.jface 4 2 2017-10-13 13:48:45.611
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.IllegalArgumentException
    at org.eclipse.core.resources.ProjectScope.<init>(ProjectScope.java:58)
    at com.vaadin.designer2.eclipse.preferences.VisualDesignerPreferences.getProjectPreferences(VisualDesignerPreferences.java:680)
    at com.vaadin.designer2.eclipse.preferences.VisualDesignerPreferences.getDefaultDesigner(VisualDesignerPreferences.java:245)
    at com.vaadin.designer2.eclipse.preferences.DesignerProjectPreferencePage.createDesignerSelection(DesignerProjectPreferencePage.java:179)
    at com.vaadin.designer2.eclipse.preferences.DesignerProjectPreferencePage.createContents(DesignerProjectPreferencePage.java:109)
    at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)
    at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1426)
    at org.eclipse.jface.preference.PreferenceDialog$8.run(PreferenceDialog.java:1193)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1185)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:591)
    at org.eclipse.jface.preference.PreferenceDialog$5.lambda$0(PreferenceDialog.java:657)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.preference.PreferenceDialog$5.selectionChanged(PreferenceDialog.java:654)
    at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:872)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:869)
    at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1238)
    at org.eclipse.jface.viewers.StructuredViewer.lambda$0(StructuredViewer.java:1261)
    at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:81)
    at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:261)
    at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:256)
    at org.eclipse.jface.util.OpenStrategy$1.lambda$1(OpenStrategy.java:426)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4213)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3820)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
    at org.eclipse.jface.window.Window.open(Window.java:794)
    at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:157)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
    at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1472)

编辑 7:

我可以在另一个工作区 (Temp Workspace) 中 reproduce 它,这是从 @howlger 询问的 .classpath 文件:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

EDIT 8 - Eclipse 报告(Howlger 提问):

https://bugs.eclipse.org/bugs/show_bug.cgi?id=526020

详情:

  • 操作系统:Windows 10 家庭版(64 位)
  • JDK 9.0
  • 初始 Eclipse:氧气版本 (4.7.0) 内部版本 ID:20170620-1800
  • 当前 Eclipse:Oxygen.1a 版本 (4.7.1a) 内部版本 ID:20171005-1200
  • 编辑 4: 项目设置:
  • 编辑 4: Java 9 版本:构建 9+181
  • 编辑 4: Java HotSpot(TM) 64 位服务器 VM(内部版本 9+181,混合模式)
  • 编辑 6: All Eclipse's Plugins
  • 如果需要任何其他信息,请在评论部分询问...

我尝试过的:

  • 重新启动 IDE
  • 搜索 Java Proposals/Completion 中是否有多个字符串(只有一个,java.lang's)。
  • 在 JRE 系统库中检查了多个 java.base 包(只有一个,来自 jrt-fs.jar)。
  • 编辑 2:通过 eclipse.ini 添加模块
  • 编辑 2:将 eclipse 更新到版本:4.7.1a (Too many images in this post already)
  • 编辑 3:检查项目中的双 JDK 和/或 Eclipse 首选项 (Image link)
  • 编辑 4:重建 java 索引(不起作用),启用 New Java index 并再次重建:工作了大约 3 分钟,但随后出现此错误并且故障再次出现:java.lang.ClassCastException while建设
  • 编辑 4:从默认库中删除 JDK 9 并重新添加回来,与上面相同,但这次它抛出了错误:java.lang.NullPointerException 到工作区,字符串错误仍然存​​在发生,即使在重新启动 IDE 之后...(顺便说一句,this warning 出现在 package 关键字中,不确定它之前是否已经在这里...)

【问题讨论】:

  • 我什至无法使用 JDK 9 安装氧气,所以最安全的选择是回滚到 JDK 8。我在 JDK 9 上遇到了多个问题,它是怎么回事,我今年不打算再安装了。大量随机错误。
  • 我已经多年没有使用 Eclipse(我现在是 IntelliJ IDEA 用户),但听起来您除了默认 JDK 位置之外还定义了自定义 JDK 位置,Eclipse 认为这两个是不同的,因此发现 Java API 类是模棱两可的。
  • 自从更新到 jdk-9 后,java.base 也遇到了同样的问题。我认为这是 eclipse 中的一个错误。
  • @Gevorg 我开始考虑了... XD
  • @Mateus 感谢您的报告。不幸的是,我无法使用面向 Java 开发人员的普通 Eclipse IDE 重现此问题,版本:Oxygen.1a (4.7.1a):我下载了丢失的 JAR,修复了单个编译错误并运行两个项目都没有问题。如果您的 Java 9 安装没有损坏,我不知道。对不起。

标签: java eclipse java-9


【解决方案1】:

screenshot showing all installed Eclipse plug-ins 中,我看到了一些非常可疑的东西:您安装了两个相互冲突的功能:

  • Eclipse Java 开发工具 - 3.13.1.v20171009-0... -
  • Eclipse JDT(Java 开发工具)补丁与 Java 9 支持 (BETA) 用于 Oxygen 开发流 - 1.1.1.v20170826-05... - 不好

根据我对 Eclipse 中 Patch 特性的理解,第二个(旧)特性可能会覆盖前一个(新)特性的插件。这意味着在更新到 Oxygen.1a(支持 Java 9 的官方版本)之后,您仍然可以有效地运行几周前的 beta 版本。

要仔细检查,您可以切换到 Eclipse Installation Details 对话框的 Plug-ins 选项卡,然后搜索“jdt”。

这个观察可以很容易地解释,为什么你仍然受到在发布之前就已经修复的错误的影响。

解决方案:请尝试卸载补丁功能(然后检查配置

编辑:更多证据可以在compiler settings 中看到,合规性“9 (BETA)”明确表明您没有运行发布版本JDT。

【讨论】:

  • 我很高兴它有帮助!我刚刚还向marketplace.eclipse.org/content/java-9-support-oxygen 添加了一个警告词,但恐怕我们可能无法轻易接触到所有通过检查更新接收版本的人...... :(
  • 我的 Eclipse Oxygen.3a (4.7.3a) 版本号:M20180330-0640,它有 Eclipse JDT 版本:3.13.4.v20180330-0919。我需要选择哪个版本来修复此问题?
  • @KondalKolipaka,要积极检查版本,请查找 插件 org.eclipse.jdt.core 的版本。在您使用 Oxygen.3a 的情况下,它应该准确地说是 3.13.102.v20180330-0919
【解决方案2】:

对于 Java 9 支持,您需要:

  1. Eclipse Oxygen.1a,可从https://www.eclipse.org/downloads/eclipse-packages/获得

  2. 根据https://wiki.eclipse.org/Configure_Eclipse_for_Java_9,手动配置支持 Java 9 的 pre-Oxygen.1a Eclipse

选项 1 显然更简单,只要您可以控制安装和使用的 Eclipse 版本。

【讨论】:

  • 我首先尝试了第二个选项,但没有成功,所以我没有重新安装 Eclipse,而是刚刚更新,它应该没有任何区别,不是吗?但是,仍然没有工作,请参阅编辑 2。
  • 当我选择 JDK 1.8(图 3)时,它说它不支持第 9 级的合规性,所以可能我已经支持 Java 9,也许这是 JDK 的错误......
  • 我相信更新的问题详细信息,使这仅仅是评论。因为这不再为问题中所述的问题提供解决方案。
【解决方案3】:

对我来说,问题是通过从 Eclipse 中删除项目(并从磁盘中删除)来解决的。然后 git-clone 并创建项目,问题就解决了。

【讨论】:

  • 也许将它移到磁盘上的其他位置。否则任何 GIT 错误都可能导致您的整个项目丢失:-)
【解决方案4】:

我在 Eclipse Oxygen 中显式导入 String 包时遇到了同样的问题。更新 eclipse 并删除项目中使用的用户库后,问题得到解决。

【讨论】:

    【解决方案5】:

    如果这有帮助,我想知道,但我遇到了类似的问题:基本类无法识别。

    我的困惑源于将 rt.jar(和其他)捆绑到无扩展名“模块”文件的新 Java 约定——改变了十年前的类引用策略。

    因此,让 Eclipse 与 JDK-10(或 JDK-9)一起编译需要做一些事情:

    1. Window->Preferences->Java->Installed JREs->Add...->Standard VM-->(导航到 JDK-10)
    2. Window->Preferences->Java->Compiler->JDK Compliance:Compiler compliance level: 10
    3. 右键Project->Build Path->Configure Build Path->Java Build Path->Libraries->Highlight Modulepath->Add Library->JRE System Library->Next->Select JRE 9/10 Per config- >完成

    注意:除非您执行了 #2,否则上述 #3 是不可能的,因为 Eclipse 不会引入“Modulepath”选项(在 #3 中),直到您提高编译器合规级别(在 #2 中)。

    诚然,这对大多数人来说可能是显而易见的……唉,我不是大多数人。

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      相关资源
      最近更新 更多