首页 > 解决方案 > 当我尝试使用 WSL2 在 IntelliJ 中运行 HelloWorld 应用程序时出现“AccessDeniedException”

问题描述

尝试按照此处的 jetbrains 说明设置 IntelliJ 以在 win10 上与 wsl2 一起使用

当我在 IntelliJ 中构建/运行项目时,出现以下异常:

java.nio.file.AccessDeniedException: /home/paul/.cache/JetBrains/IdeaIC2021.2/compile-server/helloworld_ddb4f9d0/timestamps
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389)
at java.base/java.nio.file.Files.createDirectory(Files.java:690)
at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:797)
at java.base/java.nio.file.Files.createDirectories(Files.java:783)
at com.intellij.util.io.ResizeableMappedFile.ensureParentDirectoryExists(ResizeableMappedFile.java:175)
at com.intellij.util.io.ResizeableMappedFile.<init>(ResizeableMappedFile.java:67)
at com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:73)
at com.intellij.util.io.PersistentEnumerator.createDefaultEnumerator(PersistentEnumerator.java:66)
at com.intellij.util.io.PersistentMapImpl.<init>(PersistentMapImpl.java:135)
at com.intellij.util.io.PersistentMapBuilder.buildImplementation(PersistentMapBuilder.java:64)
at com.intellij.util.io.PersistentMapBuilder.build(PersistentMapBuilder.java:41)
at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:39)
at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:54)
at org.jetbrains.jps.incremental.storage.AbstractStateStorage.createMap(AbstractStateStorage.java:124)
at org.jetbrains.jps.incremental.storage.AbstractStateStorage.<init>(AbstractStateStorage.java:29)
at org.jetbrains.jps.incremental.storage.FileTimestampStorage.<init>(FileTimestampStorage.java:27)
at org.jetbrains.jps.incremental.storage.ProjectStamps.<init>(ProjectStamps.java:41)
at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:98)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:295)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:146)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:218)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

尝试使用 2021.2 和 2021.2.1 的社区版本。

在 wsl2 环境中,IntelliJ 正在创建 root 拥有的项目文件和缓存。这可能相关吗?尽管读/写 src 文件似乎没有任何问题。

也在 youtrack 上提出了它,我想知道这是否是我的设置问题而不是 IntelliJ 的错误。wsl2 新手

标签: javaintellij-ideawsl-2

解决方案


查看 youtrack 票的更新。

仍然不确定为什么 IntelliJ 最初以 root 身份创建结构,但删除 .cache 目录并重新启动 IntelliJ 会导致所有文件夹被创建为我的用户为我解决问题。


推荐阅读