24

我正处于一个多模块 Maven3 项目的重构和内部维护过程中,我需要重命名一些工件的 groupId 和 artifactId。

有没有办法同时重命名 groupId 和 artifactId?
我知道我可以使用一些查找和替换工具,如 sed,但我想知道是否有类似版本 maven-plugin(例如:)的 mojo mvn versions:set -DnewVersion=1.0.3-SNAPSHOT,但用于 groupId 和 artifactId。

4

3 回答 3

1

有没有办法同时重命名 groupId 和 artifactId?

到今天为止,您的问题的答案很简单:

  • 不,没有这样的重命名插件。

编写自己的 Maven 插件

不过,我想您也许可以编写这样的 Maven 插件。

您可以在 Mojo 中包含此字段:

    @Parameter(defaultValue = "${project}", readonly = true)
    @SuppressWarnings("UnusedDeclaration")
    private MavenProject project;

该类MavenProject具有您正在寻找的方法(setArtifactId等)。

实际上,SetMojo来自 maven-version-plugin 的 maven-version-plugin 将为您完成此任务。


只要有这样的插件,这个答案就会更新。

于 2019-08-27T12:03:10.327 回答
0

这是我知道的唯一方法。

首先根据您要在 pom 中指定的新 groupId 创建并移动所有 java 源。将项目文件夹重命名为新的 artifactId。根据新的 artifactId 更新 .project 文件。

现在右键单击eclipse中的项目并更新maven项目。如果它的更新没有任何错误,你很高兴。

于 2021-04-11T19:28:59.153 回答
-4

简单的解决方案是使用 textpad 或 notepad++ 或其他工具,如您所说的 sed 并在文件中使用 find 并替换组 ID 和工件 ID。

于 2017-07-07T21:08:51.250 回答