【问题标题】:vs code - Expected java package name errorvs code - 预期的java包名错误
【发布时间】: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。这应该可以解决问题

标签: java gradle visual-studio-code vscode-settings


【解决方案1】:

如果您的文件已经在正确的目录中,请按 F1 并输入“清理 Java 语言服务器工作区”

【讨论】:

  • 最简单的修复方法,我快疯了
【解决方案2】:

为了解决问题,请将项目的根文件夹添加到工作区中。要在 VS Code 中执行此操作,请转到文件 ->“将文件夹添加到工作区”,然后选择根文件夹(源文件夹)。

【讨论】:

  • 这似乎不起作用,因为不需要工作区。如果您将文件夹作为项目打开,则不需要工作区
  • @DiamondDrake 你知道了吗?我有一个多模块 maven 项目,VSCode 无法渲染子模块以挽救其生命。我必须在它自己的 VSCode 窗口中打开该项目。这太疯狂了,因为我在这个项目中有 20 多个子模块。
  • @user0000001 对我来说是一个父 pom 改变了 src 根目录
  • @DiamondDrake 感谢您抽出宝贵时间回复。我只是在 VSCode 安装中清除 workspaceStorage 目录。
  • FWIW 我还必须右键单击主文件夹(只是顶级文件所在的空白区域)并选择“从 java 源路径中删除文件夹”
【解决方案3】:

因为vscodesrc 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 扩展,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 2021-11-17
      • 1970-01-01
      • 2013-12-12
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      相关资源
      最近更新 更多