在maven中重命名groupId

时间:2013-11-06 15:38:25

标签: java maven refactoring

我正处于多模块Maven3项目的重构和管理过程中,我需要重命名某些工件的groupId和artifactId。

有没有办法重命名groupId和artifactId?
我知道我可以使用一些像sed这样的查找和替换工具,但我想知道是否有像versions-maven-plugin这样的模糊(例如:mvn versions:set -DnewVersion=1.0.3-SNAPSHOT)但是对于groupId和artifactId。

3 个答案:

答案 0 :(得分:0)

到目前为止,您问题的答案(是否可以重命名groupId和artifactId?)很简单:不,没有这样的重命名插件。

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

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

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

MavenProject类具有您要查找的方法(setArtifactId等)。

实际上,来自maven-version-plugin的SetMojo将为您做到这一点:https://github.com/mojohaus/versions-maven-plugin/blob/master/src/main/java/org/codehaus/mojo/versions/SetMojo.java

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

答案 1 :(得分:0)

这是我所知道的唯一方法。

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

现在右键单击eclipse中的项目并更新maven项目。如果它的更新没有任何错误,你就可以开始了。

答案 2 :(得分:-3)

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