Eclipse 在代码完成时抛出异常
Eclipse throwing Exception on code completition
如果我按“CTRL + SPACE”
,我的 eclipse 会显示以下错误消息
The 'org.eclipse.jdt.ui.TemplateProposalComputer' proposal computer from the 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension has thrown a runtime exception.
在 eclipse 日志中我看到以下异常:
java.security.AccessControlException: access denied ("java.io.FilePermission" "/home/martin/Programme/eclipse/x64/edition_2021-03/configuration/org.eclipse.osgi/2969/0/.cp/icons/full/obj16/staged2465766773545443944.tmp" "write")
at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
at java.base/java.lang.SecurityManager.checkWrite(SecurityManager.java:752)
at ro.sync.security.manager.SandboxSecurityManager.checkWrite(SandboxSecurityManager.java:188)
at java.base/java.io.File.createTempFile(File.java:2082)
at org.eclipse.osgi.storage.BundleInfo$Generation.storeContent(BundleInfo.java:384)
at org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.getFile(CloseableBundleFile.java:223)
at org.eclipse.osgi.storage.bundlefile.ZipBundleEntry.getFileURL(ZipBundleEntry.java:107)
at org.eclipse.osgi.storage.url.BundleURLConnection.getFileURL(BundleURLConnection.java:139)
at org.eclipse.osgi.storage.url.BundleURLConverter.toFileURL(BundleURLConverter.java:38)
at org.eclipse.core.runtime.FileLocator.toFileURL(FileLocator.java:261)
at org.eclipse.jface.resource.URLImageDescriptor.getFilePath(URLImageDescriptor.java:243)
at org.eclipse.jface.resource.URLImageDescriptor$URLImageFileNameProvider.getImagePath(URLImageDescriptor.java:58)
at org.eclipse.swt.internal.DPIUtil.validateAndGetImagePathAtZoom(DPIUtil.java:419)
at org.eclipse.swt.graphics.Image.<init>(Image.java:624)
at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:274)
at org.eclipse.jface.resource.ImageDescriptor.createResource(ImageDescriptor.java:227)
at org.eclipse.jface.resource.DeviceResourceManager.allocate(DeviceResourceManager.java:55)
at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:88)
at org.eclipse.jface.resource.ResourceManager.createImageWithDefault(ResourceManager.java:195)
at org.eclipse.jface.resource.ImageRegistry.get(ImageRegistry.java:206)
at org.eclipse.jdt.internal.ui.JavaPluginImages.get(JavaPluginImages.java:643)
at org.eclipse.jdt.internal.ui.text.template.contentassist.TemplateEngine.getImage(TemplateEngine.java:196)
at org.eclipse.jdt.internal.ui.text.template.contentassist.TemplateEngine.complete(TemplateEngine.java:160)
at org.eclipse.jdt.internal.ui.text.java.AbstractTemplateCompletionProposalComputer.computeCompletionProposals(AbstractTemplateCompletionProposalComputer.java:82)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:348)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:340)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:333)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:289)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup.lambda(AsyncCompletionProposalPopup.java:352)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup.lambda(AsyncCompletionProposalPopup.java:351)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
提到的目录 /home/martin/Programme/eclipse/x64/edition_2021-03/configuration/org.eclipse.osgi/2969/0/.cp/icons/full/obj16/
存在并且对我的用户是可写的。概述的文件不存在。那么这里的问题是什么?
我目前使用的是 eclipse 2021-09 RC1,但我记得以前的 eclipse 版本也有这个问题。如果我在内容帮助中禁用“模板提案”,则此消息就会消失。但是这个错误不是正常的,因为如果我将内容辅助重置为默认值,这种情况会再次发生。至少在默认情况下,Eclipse 应该始终按预期工作。
eclipse 2021-09 RC1
的下载页面明确指出
Please note that this is a developer build which might contain issues.
很可能是开发版的bug。 RC
表示候选版本。
建议:
- 使用稳定版本重现问题
- Contribute a bug report 该版本。
- 作为 test/workaround,尝试禁用
SWT template proposal
@howlger 关于报告错误的建议:
Better report bugs that can be reproduced with a fresh installation of the latest releases candidate, milestone or even better the latest daily integration build than of the latest release.
如果我按“CTRL + SPACE”
,我的 eclipse 会显示以下错误消息The 'org.eclipse.jdt.ui.TemplateProposalComputer' proposal computer from the 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension has thrown a runtime exception.
在 eclipse 日志中我看到以下异常:
java.security.AccessControlException: access denied ("java.io.FilePermission" "/home/martin/Programme/eclipse/x64/edition_2021-03/configuration/org.eclipse.osgi/2969/0/.cp/icons/full/obj16/staged2465766773545443944.tmp" "write")
at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
at java.base/java.lang.SecurityManager.checkWrite(SecurityManager.java:752)
at ro.sync.security.manager.SandboxSecurityManager.checkWrite(SandboxSecurityManager.java:188)
at java.base/java.io.File.createTempFile(File.java:2082)
at org.eclipse.osgi.storage.BundleInfo$Generation.storeContent(BundleInfo.java:384)
at org.eclipse.osgi.storage.bundlefile.CloseableBundleFile.getFile(CloseableBundleFile.java:223)
at org.eclipse.osgi.storage.bundlefile.ZipBundleEntry.getFileURL(ZipBundleEntry.java:107)
at org.eclipse.osgi.storage.url.BundleURLConnection.getFileURL(BundleURLConnection.java:139)
at org.eclipse.osgi.storage.url.BundleURLConverter.toFileURL(BundleURLConverter.java:38)
at org.eclipse.core.runtime.FileLocator.toFileURL(FileLocator.java:261)
at org.eclipse.jface.resource.URLImageDescriptor.getFilePath(URLImageDescriptor.java:243)
at org.eclipse.jface.resource.URLImageDescriptor$URLImageFileNameProvider.getImagePath(URLImageDescriptor.java:58)
at org.eclipse.swt.internal.DPIUtil.validateAndGetImagePathAtZoom(DPIUtil.java:419)
at org.eclipse.swt.graphics.Image.<init>(Image.java:624)
at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:274)
at org.eclipse.jface.resource.ImageDescriptor.createResource(ImageDescriptor.java:227)
at org.eclipse.jface.resource.DeviceResourceManager.allocate(DeviceResourceManager.java:55)
at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:88)
at org.eclipse.jface.resource.ResourceManager.createImageWithDefault(ResourceManager.java:195)
at org.eclipse.jface.resource.ImageRegistry.get(ImageRegistry.java:206)
at org.eclipse.jdt.internal.ui.JavaPluginImages.get(JavaPluginImages.java:643)
at org.eclipse.jdt.internal.ui.text.template.contentassist.TemplateEngine.getImage(TemplateEngine.java:196)
at org.eclipse.jdt.internal.ui.text.template.contentassist.TemplateEngine.complete(TemplateEngine.java:160)
at org.eclipse.jdt.internal.ui.text.java.AbstractTemplateCompletionProposalComputer.computeCompletionProposals(AbstractTemplateCompletionProposalComputer.java:82)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:348)
at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:340)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:333)
at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:289)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup.lambda(AsyncCompletionProposalPopup.java:352)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jface.text.contentassist.AsyncCompletionProposalPopup.lambda(AsyncCompletionProposalPopup.java:351)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
提到的目录 /home/martin/Programme/eclipse/x64/edition_2021-03/configuration/org.eclipse.osgi/2969/0/.cp/icons/full/obj16/
存在并且对我的用户是可写的。概述的文件不存在。那么这里的问题是什么?
我目前使用的是 eclipse 2021-09 RC1,但我记得以前的 eclipse 版本也有这个问题。如果我在内容帮助中禁用“模板提案”,则此消息就会消失。但是这个错误不是正常的,因为如果我将内容辅助重置为默认值,这种情况会再次发生。至少在默认情况下,Eclipse 应该始终按预期工作。
eclipse 2021-09 RC1
的下载页面明确指出
Please note that this is a developer build which might contain issues.
很可能是开发版的bug。 RC
表示候选版本。
建议:
- 使用稳定版本重现问题
- Contribute a bug report 该版本。
- 作为 test/workaround,尝试禁用
SWT template proposal
@howlger 关于报告错误的建议:
Better report bugs that can be reproduced with a fresh installation of the latest releases candidate, milestone or even better the latest daily integration build than of the latest release.