简体   繁体   English

Eclipse 2018-09使用Java 11插件进入了无限的构建循环:ClosedFileSystemException

[英]Eclipse 2018-09 goes into endless build loop with Java 11 plugin: ClosedFileSystemException

I'm running Eclipse 2018-09 (4.9.0) on Windows 10. I'm using Open JDK 11 GA. 我正在Windows 10上运行Eclipse 2018-09(4.9.0),正在使用Open JDK 11 GA。 I have a project using Java 8 compliant source code that compiles fine using the JDK, both from Eclipse and from Maven. 我有一个使用Java 8兼容源代码的项目,该项目可以使用Eclipse和Maven的JDK进行编译。

I want to use new Java 11 features, so first I changed the compiler source/target from Java 8 to Java 11. It still built find using Maven on the command line, but couldn't compile in Eclipse (see Eclipse 2018-09 won't compile Java 11 source; thinks it is below 1.7 ). 我想使用Java 11的新功能,因此首先我将编译器源/目标从Java 8更改为Java11 。它仍然在命令行上使用Maven构建了find,但是无法在Eclipse中进行编译(请参阅Eclipse 2018-09不能编译Java 11源代码;认为它低于1.7 )。

So I added the "Java 11 Support for Eclipse 2018-09" plugin from the Eclipse Marketplace. 因此,我从Eclipse Marketplace中添加了“ Java 11 Support for Eclipse 2018-09”插件。 I restarted Eclipse and used Alt+F5 to refresh my Maven projects. 我重新启动了Eclipse,并使用Alt+F5刷新了我的Maven项目。 Eclipse then attempted to rebuild the project. Eclipse然后尝试重建项目。

Now Eclipse goes into an endless loop, jumping between 8X% finished to 9X% finished, with repeated, endless errors such as these: 现在,Eclipse进入了一个无休止的循环,在8X%的完成率到9X%的完成率之间跳跃,并出现了反复的无尽错误,例如:

!SESSION 2018-09-27 08:08:51.188 -----------------------------------------------
eclipse.buildId=4.9.0.I20180906-0745
java.version=11
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

This is a continuation of log file …\.metadata\.bak_0.log
Created Time: 2018-09-27 08:11:22.981

!ENTRY org.eclipse.core.resources 4 2 2018-09-27 08:11:22.981
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.nio.file.ClosedFileSystemException
  at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.ensureOpen(ZipFileSystem.java:1105)
  at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.checkAccess(ZipFileSystem.java:332)
  at jdk.zipfs/jdk.nio.zipfs.ZipPath.checkAccess(ZipPath.java:830)
  at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.checkAccess(ZipFileSystemProvider.java:185)
  at java.base/java.nio.file.Files.exists(Files.java:2439)
  at org.eclipse.jdt.internal.core.builder.ClasspathMultiReleaseJar.findClass(ClasspathMultiReleaseJar.java:206)
  at org.eclipse.jdt.internal.core.builder.ClasspathLocation.findClass(ClasspathLocation.java:58)
  at org.eclipse.jdt.internal.core.builder.NameEnvironment.findClass(NameEnvironment.java:524)
  at org.eclipse.jdt.internal.core.builder.NameEnvironment.findType(NameEnvironment.java:556)
  at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.fromSplitPackageOrOracle(LookupEnvironment.java:414)
  at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.lambda$1(LookupEnvironment.java:289)
  at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForTypeFromModules(LookupEnvironment.java:384)
  at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:288)
  at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:262)
  at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:530)
  at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.checkAndSetImports(CompilationUnitScope.java:254)
  at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:501)
  at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:868)
  at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:394)
  at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)
  at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
  at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:386)
  at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:214)
  at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:318)
  at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:79)
  at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:265)
  at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:185)
  at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:798)
  at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
  at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:219)
  at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:262)
  at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:315)
  at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
  at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:318)
  at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:370)
  at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:391)
  at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:145)
  at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

There's no way to stop it. 无法阻止它。 At least Eclipse doesn't freeze, so I hit the "close" button on the application title bar and manage to exit the program. 至少Eclipse不会冻结,因此我点击了应用程序标题栏上的“关闭”按钮,并设法退出了程序。 I can get back into the program, but when I try to build it goes into the same endless loop. 我可以重新进入程序,但是当我尝试构建它时,它会进入相同的无穷循环。

As mentioned in Bug 539536 , this issue has been fixed in the latest build of the Java 11 support patch. 错误539536中所述 ,此问题已在Java 11支持补丁的最新版本中得到修复。 The problem was caused by a migration from ZipFile to the java.nio classes, the changes have been reverted for now but is still being discussed at the time of writing. 该问题是由从ZipFilejava.nio类的迁移引起的,更改已暂时恢复,但在撰写本文时仍在讨论中。

To install the fix, use the following update site in Eclipse and select v20181001-0921 or more recent: http://download.eclipse.org/eclipse/updates/4.9-P-builds/P20181001-0525/ 要安装此修复程序,请在Eclipse中使用以下更新站点,然后选择v20181001-0921或更新的版本: http : //download.eclipse.org/eclipse/updates/4.9-P-builds/P20181001-0525/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 通过Maven的OpenJDK 11 + OpenJFX 11无法在Eclipse 2018-09 + Java 11修补程序中运行 - OpenJDK 11 + OpenJFX 11 via maven fails to run inside Eclipse 2018-09 + Java 11 Patch Eclipse 2018-09在Windows 10上使用OpenJDK 11 - Eclipse 2018-09 with OpenJDK 11 on Windows 10 Eclipse 2018-09 不会编译 Java 11 源代码; 认为它低于 1.7 - Eclipse 2018-09 won't compile Java 11 source; thinks it is below 1.7 带有jdk11的Eclipse 2018-09声称即使org.junit包也被maven所缺少 - Eclipse 2018-09 with jdk11 claims that package org.junit is missing even though it is included by maven java 11 HttpClient 导致无休止的 SSL 循环 - java 11 HttpClient leads to endless SSL loop 使用“Eclipse IDE for Java EE Developers”软件包修复ClosedFileSystemException错误 - Getting a fix for ClosedFileSystemException bug with “Eclipse IDE for Java EE Developers” package 插件 Java 15 支持 eclipse 2020-09 不再可用 - Plugin for Java 15 support in eclipse 2020-09 no longer available Java无尽的while循环 - Java Endless While Loop Java中无尽的while循环 - endless while loop in Java java.time.format.DateTimeParseException:文本'Mi Mai 09 09:17:24 2018'无法在索引0处解析 - java.time.format.DateTimeParseException: Text 'Mi Mai 09 09:17:24 2018' could not be parsed at index 0
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM