【问题标题】:Eclipse says package declaration does not match expected package ""Eclipse 说包声明与预期的包不匹配“”
【发布时间】:2013-05-27 12:37:37
【问题描述】:

我正在使用 Maven 构建我的项目。当我在 Eclipse 中查看它时,它抱怨说

包声明与预期包“”不匹配

Maven 能够成功构建项目。

【问题讨论】:

  • 如果你使用maven,我建议使用'mvn eclipse:eclipse',然后将其作为常规java项目导入(导入现有)。
  • 文件夹WebContent 看起来不像通常的 Maven WAR 项目。
  • @rethab:它真的对我有用,非常感谢。Idk,为什么其他人在这里投票。
  • @Chetan 我编辑了我的答案以包含更多背景(见下文)。

标签: eclipse maven


【解决方案1】:

Eclipse 需要将某个文件夹识别为“源文件夹”,以便将内容正确解释为 Java 源文件。

通常,如果您创建一个 Java 项目,Eclipse 会创建一个名为“src”的文件夹并将其标记为“源文件夹”。但是,如果您正在处理默认的 Maven 项目设置,Eclipse 不会自动将 'src/main/java' 识别为源文件夹(当然,除非您使用的是插件)。

如果您不确定 Eclipse 是否将您的文件夹视为“源文件夹”或只是普通文件夹,请查看图标(注意左下角的小包符号):

正如您所说,由于您使用 Maven,您应该为 Eclipse 使用 Maven 插件,或者让 Maven 为 Eclipse 生成所需的元文件。这可以通过以下命令完成(生成 .classpath 和 .project 文件):

mvn eclipse:eclipse

没有使用 Maven 但遇到此问题的人可以右键单击他们的源文件夹并将其标记为源文件夹并使用“构建路径 -> 用作源文件夹”。

【讨论】:

  • 使用 mvn eclipse:eclipse 会产生用户遇到的问题,即使使用 maven 插件
  • 你需要做的就是将 "" 替换为 "*/.java"/>"
  • @user18896654353 在我的情况下,路径已经是“src/main/java”,但这是错误的。它必须是“src/test/java”。在您关闭项目并重新打开它之前,更改不会生效。仅仅做一个 Project > Clean... 是不够的。对于那些还不知道的人,这是在 Eclipse 的 .classpath 文件中(无扩展名)。
  • @rethab 当我创建一个新项目然后在 src 目录中创建一个文件(带有包声明)时,我收到此错误消息。关于为什么的任何想法?
猜你喜欢
  • 2011-11-29
  • 1970-01-01
  • 2019-07-10
  • 2021-11-12
  • 2011-10-23
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多