我正处于多模块Maven3项目的重构和管理过程中,我需要重命名某些工件的groupId和artifactId。
有没有办法重命名groupId和artifactId?
我知道我可以使用一些像sed这样的查找和替换工具,但我想知道是否有像versions-maven-plugin这样的模糊(例如:mvn versions:set -DnewVersion=1.0.3-SNAPSHOT
)但是对于groupId和artifactId。
答案 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。