redhat-developer / redhat-developer/vscode-java
Windows 10 FileNotFound if %APPDATA% points to Network Share
还没有人认领这个 Issue。
- 主要语言
- TypeScript
- 星标
- 2.3k
- 派生
- 546
- 平均合并
- 20 小时 1 分钟
- 30 天内合并 PR
- 11
描述
FileNotFound when %APPDATA% points to Network Share
Environment
- Windows 10
- JDK 17
- Visual Studio Code version: 1.70.1
- Java extension version: v1.9.0
Steps To Reproduce
- Set $env:APPDATA to point to network share, i.e.
\dem3788.company.net\CENXXXVOL001\Profiles\UserName\AppData\Code\User\workspaceStorage\993565304d52f777ea974b4a582d4774\redhat.java\jdt_ws.metadata.plugins\org.eclipse.core.resources.projects\jdt.ls-java-project.project - Open Folder containing java project
Current Result
!ENTRY org.eclipse.core.resources 4 1 2022-08-16 21:11:53.709
!MESSAGE Internal Error
!STACK 1
org.eclipse.core.internal.resources.ResourceException(/jdt.ls-java-project/.project)[368]: java.lang.Exception: File not found: \dem-3788.company.net\CEN***VOL001\Profiles,%USERNAME%\AppData\Code - Insiders\User\workspaceStorage\993565304d52f777ea974b4a582d4774\redhat.java\jdt_ws.metadata.plugins\org.eclipse.core.resources.projects\jdt.ls-java-project.project.
at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
at org.eclipse.core.internal.resources.ResourceException.(ResourceException.java:38)
at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:835)
at org.eclipse.core.internal.resources.File.getContents(File.java:277)
at org.eclipse.core.internal.localstore.FileSystemResourceManager.descriptionChanged(FileSystemResourceManager.java:382)
at org.eclipse.core.internal.localstore.FileSystemResourceManager.internalWrite(FileSystemResourceManager.java:652)
at org.eclipse.core.internal.resources.Project.writeDescription(Project.java:1421)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1313)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1336)
at org.eclipse.jdt.internal.core.JavaProject.setJavaCommand(JavaProject.java:3519)
at org.eclipse.jdt.internal.core.JavaProject.addToBuildSpec(JavaProject.java:526)
at org.eclipse.jdt.internal.core.JavaProject.configure(JavaProject.java:1131)
at org.eclipse.core.internal.resources.NatureManager$1.run(NatureManager.java:150)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.resources.NatureManager.configureNature(NatureManager.java:166)
at org.eclipse.core.internal.resources.NatureManager.configureNatures(NatureManager.java:212)
at org.eclipse.core.internal.resources.Project.basicSetDescription(Project.java:111)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1309)
at org.eclipse.core.internal.resources.Project.setDescription(Project.java:1336)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.createJavaProject(ProjectsManager.java:360)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.createJavaProject(ProjectsManager.java:341)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:106)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:244)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Expected Result
if $env:APPDATA points to a Drive:\Folder vs network share (\network\folder) project opens without errors
Additional Informations
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
先从 ProjectsManager.createJavaProject 中的项目初始化路径和 FileSystemResourceManager 的堆栈跟踪条目入手,然后在本地驱动器和网络共享上使用 APPDATA 进行复现。在两种 APPDATA 配置下打开 Java 项目都不会出现 FileNotFound 错误,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, vscode
- 领域
- developer-experience, operating-systems
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100