Eclipse 2018-09使用Java 11插件进入无限构建循环:ClosedFileSystemException [英] Eclipse 2018-09 goes into endless build loop with Java 11 plugin: ClosedFileSystemException

查看:146
本文介绍了Eclipse 2018-09使用Java 11插件进入无限构建循环:ClosedFileSystemException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Windows 10上运行Eclipse 2018-09(4.9.0)。我正在使用Open JDK 11 GA。我有一个使用Java 8兼容源代码的项目,可以使用JDK从Eclipse和Maven编译好。

I'm running Eclipse 2018-09 (4.9.0) on Windows 10. I'm using 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 11功能,所以首先我将编译器源/目标从Java 8更改为Java 11.它仍在命令行上使用Maven构建find,但无法在Eclipse中编译(请参阅 Eclipse 2018-09将无法编译Java 11源代码;认为它低于1.7

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支持来自Eclipse Marketplace的Eclipse 2018-09插件。我重新启动了Eclipse并使用 Alt + F5 来刷新我的Maven项目。 Eclipse然后尝试重建项目。

So I added the "Java 11 Support for Eclipse 2018-09" plugin from the Eclipse Marketplace. I restarted Eclipse and used Alt+F5 to refresh my Maven projects. Eclipse then attempted to rebuild the project.

现在Eclipse进入无限循环,在完成8X%到9X%之间跳跃,重复,无穷无尽的错误如下:

Now Eclipse goes into an endless loop, jumping between 8X% finished to 9X% finished, with repeated, endless errors such as these:

!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)

没办法停下来。至少Eclipse不会冻结,所以我按下应用程序标题栏上的关闭按钮并设法退出该程序。我可以回到程序中,但是当我尝试构建它时会进入相同的无限循环。

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. I can get back into the program, but when I try to build it goes into the same endless loop.

推荐答案

如上所述错误539536 ,此问题已在最新版本的Java 11支持补丁。该问题是由从 ZipFile 迁移到 java.nio 类引起的,这些更改现在已经恢复,但在撰写本文时仍在讨论中。

As mentioned in Bug 539536, this issue has been fixed in the latest build of the Java 11 support patch. 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.

要安装此修复程序,请在Eclipse中使用以下更新站点并选择 v20181001-0921 或更新:
http://download.eclipse.org/eclipse/updates/4.9-P- build / P20181001-0525 /

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 2018-09使用Java 11插件进入无限构建循环:ClosedFileSystemException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆