如何重命名maven模块?

use*_*114 5 eclipse svn module rename maven

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

<modules>
        <module>ejb</module>
        <module>web</module>
        <module>ear</module>
</modules>
Run Code Online (Sandbox Code Playgroud)

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

<modules>
        <module>ejb-ext</module>
        <module>web-ext</module>
        <module>ear-ext</module>
</modules>
Run Code Online (Sandbox Code Playgroud)

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

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

有什么方法可以重命名模块而不丢失其 SVN 历史记录吗?我参考了以下线程,但没有帮助:

参考文献 1 参考文献 2

Tom*_*ome 6

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

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

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


use*_*114 0

我通过两步方法解决了这个问题:

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

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

希望它能帮助某人。