如何重命名maven模块?

How to rename maven modules?

我有一个小项目,其中包含三个模块:

<modules>
        <module>ejb</module>
        <module>web</module>
        <module>ear</module>
</modules>

我想重命名这些 Maven 模块。我尝试的第一件事是,重命名父模块名称 pom.xml。例如

<modules>
        <module>ejb-ext</module>
        <module>web-ext</module>
        <module>ear-ext</module>
</modules>

当我尝试编译项目时,maven 抱怨子模块(例如 ejb-ext)不存在。

我使用 eclipse IDE,然后我使用 eclipse 菜单 refactor -> rename 重命名了每个模块。但由于这个原因,现在 SVN 显示旧模块 ejbwebear 已删除,并且添加了新模块 ejb-extweb-extear-ext.

有什么方法可以在不丢失 SVN 历史记录的情况下重命名模块?我提到了以下线程,但没有帮助:

Reference 1 Reference 2

Maven 模块名称应该引用一个目录,因此您必须重命名该目录。

SVN应该能够知道新创建的目录来自另一个刚刚被删除的现有目录。本身没有这样的 "MOVE" 或 "RENAME" 操作,但是 link 是通过 "from" 属性 linked 到复制操作(实际上,该移动是复制自+删除)。

因此,如果 eclipse 正常工作,您将不会丢失任何历史记录。

我分两步解决了这个问题:

1) 首先我修改了我的 poms 以提及新的模块名称。然后检查代码。当然它失败了,错误是子模块(例如 ejb-ext)不存在。

2) 在第二步中,我使用了 SVN 重命名选项来重命名子模块。 SVN 重命名自动保存历史。然后我签入代码以解决构建问题。 我使用 Eclipse SVN 存储库视图重命名了子模块。在这里您可以简单地右键单击子模块并使用选项 "rename/move".

重命名它们

希望对大家有所帮助。