【问题标题】:Eclipse: "declared package does not match the expected package", but buildpath does define the declared packageEclipse:“声明的包与预期的包不匹配”,但 buildpath 确实定义了声明的包
【发布时间】:2013-02-20 21:56:41
【问题描述】:

在一个名为 my-project 的 maven 项目中,eclipse 一直在告诉我

声明的包“com.myself”与预期的包“main.java.com.myself”不匹配

虽然我验证了在项目的构建路径中,我有一个入口:

my-project/src/main/java
    Included: **/*.java
    Excluded: (None)
    Native library location: (None)
    Ignore optional compile problems: No

那可能是什么问题?

解决问题的最简单方法是什么?

我怀疑eclipse设置文件有问题,因为在将项目导入工作区并将其转换为maven项目后,我不得不手动更改文件夹结构以获得maven web的常规文件夹结构项目。但可能是在这些更改期间,eclipse 无法正确理解某些内容。

此外,maven 能够构建我的项目(从 Eclipse 中以及从命令行)。

我只是从 eclipse 中得到那些编译错误。

附:我已经尝试过 project > clean,但没有帮助。

【问题讨论】:

    标签: eclipse maven buildpath


    【解决方案1】:

    将 my-project/src/main/java 设置为源文件夹(项目 -> 属性 -> Java 构建路径 -> 项目 -> 添加文件夹)。删除旧的源文件夹。

    必要时重启 eclipse。

    简单地说,Eclipse 认为你的项目从 my-project/src 开始。因此,它期望所有包都从那里下降,从 main.java 开始。

    【讨论】:

    • 按照 Valimir 的说明,Project -> Maven -> update project,在我的情况下清除了错误消息
    【解决方案2】:

    看起来该项目仍然不是 maven 性质...

    按照步骤:

    Right Click on the project folder -> Maven -> Update Project...
    

    或者,打开command prompt,进入项目根目录,输入以下命令:

    mvn eclipse:clean eclipse:eclipse
    

    【讨论】:

      【解决方案3】:
      1. 我将项目文件夹复制到了 Eclipse 工作区之外的某个位置。
      2. 然后我从 Eclipse 项目资源管理器和工作区中删除了该项目。
      3. 现在我创建了一个新的同名java项目,并导入了我在(1)保存的原始项目。
      4. 嘀嘀!没有编译错误。

      【讨论】:

        猜你喜欢
        • 2011-11-29
        • 1970-01-01
        • 1970-01-01
        • 2019-07-10
        • 2021-11-12
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多