[英]Why does vscode think the declared package doesn't match the expected package?
我对来自 GitHub 的项目进行了以下操作
该文件在项目的以下路径下找到:antlr4/antlr4-maven-plugin/src/test/java/org/antlr/mojo/antlr4/Antlr4MojoTest.java
VSCode 告诉我:声明的 package“org.antlr.mojo.antlr4”与预期的 package“java.org.antlr.mojo.antlr4”不匹配
为什么 vscode 认为预期的 package 是java.org.antlr.mojo.antlr4
?
VSCode 期望 class 位于 package java.org.antlr.mojo
中,因为插件 pom 设置为包含src/test
,正如@Sweeper所指出的。 这是模块 pom 中的行:
<testSourceDirectory>src/test</testSourceDirectory>
VSCode 正确地将其下的所有内容理解为包含类的 package。 补救措施是更改目录结构以匹配 pom(例如,将java
目录的内容向上移动一级)或更改 pom 以匹配目录结构(例如,将“/java”添加到 testSourceDirectory 标记的末尾)。
IMO 更改 pom 是更好的解决方案。 特别是 testSourceDirectory 标签应该被整个删除,因为默认的 testSourceDirectory 已经是'src/test/java'作为 super-pom 版本 3.8.6 (org.apache.maven:maven-model-builder:3.8.6:super -pom)。 不需要配置不需要配置的东西,因为默认会做(在这种情况下是正确的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.