【问题标题】:Folder path != package name文件夹路径!= 包名
【发布时间】:2014-06-09 17:29:31
【问题描述】:

我克隆了sms-backup-plus 存储库。这是eclipse的存储库文件夹结构。

但是项目中的包名是com.zegoggles.smssync;。所以我得到了错误declared package does not match the expected package。我如何避免 main/java 附加在包名中。

PS:Android Studio 工作正常

更新: main/java/com/zegoggles/smssync 上的生产代码和 test/java/com/zegoggles/smssync 上的测试代码。所以我不能在源文件中重命名包名。

【问题讨论】:

  • 右键单击并让 eclipse 为您修复它。
  • @ScaryWombat 但是有很多 java 文件。而且我不想更改源代码。我想与存储库同步

标签: java android eclipse


【解决方案1】:

这个问题正在发生,因为您的 Eclipse 无法识别 maven 项目。执行以下操作

  • 打开命令提示符并导航到您的工作区位置。
  • 执行命令mvn eclipse:eclipse。在执行此命令之前,请确保您的 MAVEN_HOME 已在环境变量中配置。

【讨论】:

    【解决方案2】:

    包名和目录结构应该是一样的。只需对包进行重构->重命名并删除 main.java

    【讨论】:

    • 文件夹结构为 main/java/com/zegoggles/smssync。我更新我的问题
    • 这是一种构建存储库的糟糕方式。您应该从根分支,而不仅仅是源代码 - 否则您无法测试对资产或清单文件的更改,因为它们是共享的。您的方法不适用于 Eclipse。
    【解决方案3】:

    您可以通过打开项目的Properties 来更改项目的基本源目录,转到Java Build Path 并选择Source 选项卡。将src 更改为src/main

    【讨论】:

      【解决方案4】:
      1. 在您的情况下选择您的根包 (main.java.com.zegoggles.smssync)
      2. 重构 -> 使用 Alt+Shift+R 重命名
      3. 将现有包名替换为 com.zegoggles.smssync
      4. 选择下面的“更新参考”和“重命名子包”复选框。
      5. 项目 -> 从 Eclipse 中清理

      【讨论】:

      • 如果我在“main/java/com/zegoggles/smssync”和“test/java/com/zegoggles/smssync”中执行文件将被视为相同
      猜你喜欢
      • 1970-01-01
      • 2016-02-27
      • 1970-01-01
      • 2012-05-13
      • 2012-02-14
      • 2015-11-04
      • 2018-07-26
      • 2018-12-02
      • 1970-01-01
      相关资源
      最近更新 更多