【问题标题】:Moving packages in IntelliJ IDEA在 IntelliJ IDEA 中移动包
【发布时间】:2020-06-23 23:43:32
【问题描述】:

我在 IntelliJ IDEA 中移动包时遇到问题。我创建了包含多个模块的 Maven 项目,每个模块都有一个同名的包。现在,如果我尝试重命名某些包,整个项目就会变得一团糟。

我目前的项目结构是这样的:

--parent-module
  |
  |--module-one
  |  |--src
  |     |--main
  |        |--java
  |           |--somepackage
  |              |--someotherpackages
  |--module-two
  |  |--src
  |     |--main
  |        |--java
  |           |--somepackage
  |              |--somemorepackages
  |--module-three
     |--src
        |--main
           |--java
              |--somepackage
                 |--someevenmorepackages

注意 somepackage 存在于所有 maven 模块中。

MANY 在所有这些模块和包中创建了类之后,我终于意识到我做了什么。现在我需要将 somepackage 放入 java 下的另一个包中,这样我就可以拥有类似 com.example.moduleone.somepackage 的东西。

我尝试重命名包,但它在所有模块中重命名它,这会在代码中产生大量错误。此外,IntelliJ IDEA 在所有模块中将其重命名为 com.example.moduleone.somepackage

任何帮助将不胜感激。

【问题讨论】:

    标签: java maven intellij-idea


    【解决方案1】:

    可能最简单的方法是先创建新包,然后将要移动的类移入其中,然后在移动完所有内容后删除一些包

    所以首先添加moduleone,然后移动所有要移动的类,然后对其他模块执行相同操作,然后删除一些包

    【讨论】:

    • 已经尝试过了,但是如果我尝试将包移动到 moduleone 包中,它会将其移动到所有模块中(在所有模块中创建 com.example.moduleone.somepackage)。
    • 最后我通过创建具有相同结构但在 com.example.moduleone 下的新包来完成它,并将所有类移动到相应的新包中。大量的手动工作(选择旧包中的所有类并拖到新包中)但比修复数百万个错误要好。感谢您的帮助!
    【解决方案2】:
    1. 右键Project name>New>Module..>选择java版本并为新模块设置名称。
    2. 将你想要移动的包页拖到new-module/src > OK > Refactor
    3. 重建项目。查找错误:java:packpage 不存在。修复方法:转到错误代码 > Atl+Enter > Add depedency on module..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      相关资源
      最近更新 更多