vs code - 预期的java包名错误
Posted
技术标签:
【中文标题】vs code - 预期的java包名错误【英文标题】:vs code - Expected java package name error 【发布时间】:2018-06-23 22:23:00 【问题描述】:我有一个具有以下目录结构的 java 项目(根据 Gradle 的 'java'
插件的要求,假设所有默认值)。
projectRootDir
- src/main/java/com/myproj/Sample.java
- build.gradle
和
// Sample.java code
package com.myproj;
public class Sample
...
在 VS Code 中打开 projectRootDir
文件夹会在 Sample.java 中显示以下包命名错误:
The declared package "com.myproj" doesn't match the expected package "main.java.com.myproj"
如何让VS Code识别/使用代码中提到的包?
注意:我正在使用以下扩展:RedHat 的 Java(TM) 语言支持和 Microsoft 的 Java 调试器。
【问题讨论】:
您需要配置您的 VS 代码以将src/main/java
作为源根文件夹,而不仅仅是 src
。这应该可以解决问题
【参考方案1】:
如果您的文件已经在正确的目录中,请按 F1 并输入“清理 Java 语言服务器工作区”
【讨论】:
最简单的修复方法,我快疯了【参考方案2】:为了解决问题,请将项目的根文件夹添加到工作区中。要在 VS Code 中执行此操作,请转到文件 ->“将文件夹添加到工作区”,然后选择根文件夹(源文件夹)。
【讨论】:
这似乎不起作用,因为不需要工作区。如果您将文件夹作为项目打开,则不需要工作区 @DiamondDrake 你知道了吗?我有一个多模块 maven 项目,VSCode 无法渲染子模块以挽救其生命。我必须在它自己的 VSCode 窗口中打开该项目。这太疯狂了,因为我在这个项目中有 20 多个子模块。 @user0000001 对我来说是一个父 pom 改变了 src 根目录 @DiamondDrake 感谢您抽出宝贵时间回复。我只是在 VSCode 安装中清除workspaceStorage
目录。
FWIW 我还必须右键单击主文件夹(只是***文件所在的空白区域)并选择“从 java 源路径中删除文件夹”【参考方案3】:
因为vscode
将src folder
设置为默认Java Source Path
,您应该将其更改为文件夹src/main/java
。只需右击vscode
中的文件夹src/main/java
,点击选项Add Folder to Java Source Path
,然后重新打开文件,错误就消失了。
【讨论】:
不适用于 OP 正在使用的插件,抛出警告说使用 pom 配置 src root 当我使用 Java Dependency Viewer 扩展时不起作用。 这个答案对我帮助很大,谢谢!仅适用于遇到此错误的任何人(可能在使用 Java 项目管理器扩展时):Cannot add to source path because parent is already...
只需右键单击源的前一个根目录(例如:src 文件夹)并将其从源路径中删除,然后添加新的根目录到源路径。希望有帮助:)【参考方案4】:
项目根目录 --> .vscode --> settings.json
更改了下面的条目以指向我的根源文件夹。这被设置为 src/pkg1。更改为 src 并开始工作。
“java.project.sourcePaths”:[ “源代码” ]
【讨论】:
【参考方案5】:就我而言,问题是faustinoaq.javac-linter
扩展。我卸载了 linter 扩展,一切正常。
【讨论】:
以上是关于vs code - 预期的java包名错误的主要内容,如果未能解决你的问题,请参考以下文章
运行所选代码生成器时出错:“预期具有协定名称 "NuGet.VisualStudio.IVsPackageInstallerServices" 的1导出 ——VS2015错误记录
如何在 MacOS Monterey 上修复 VS COde“致命错误:运行时:bsdthread_register 错误”