Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在maven中重命名groupId_Java_Maven_Refactoring - Fatal编程技术网

Java 在maven中重命名groupId

Java 在maven中重命名groupId,java,maven,refactoring,Java,Maven,Refactoring,我正在一个多模块Maven3项目的重构和内部管理过程中,我需要重命名一些工件的groupId和artifactId 有没有办法同时重命名groupId和artifactId? 我知道我可以使用一些查找和替换工具,比如sed,但我想知道是否有类似于mojo的工具(例如:mvn版本:set-DnewVersion=1.0.3-SNAPSHOT),但用于groupId和artifactId。简单的解决方案是使用textpad或notepad++或您所说的其他工具sed,使用find-in-file并替

我正在一个多模块Maven3项目的重构和内部管理过程中,我需要重命名一些工件的groupId和artifactId

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

我知道我可以使用一些查找和替换工具,比如sed,但我想知道是否有类似于mojo的工具(例如:
mvn版本:set-DnewVersion=1.0.3-SNAPSHOT
),但用于groupId和artifactId。

简单的解决方案是使用textpad或notepad++或您所说的其他工具sed,使用find-in-file并替换组id和工件id

有没有办法重命名groupId和artifactId

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

  • 不,没有用于重命名的插件
编写自己的Maven插件 不过,我想你也许能够编写这样一个maven插件

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

@参数(defaultValue=“${project}”,readonly=true)
@抑制警告(“未使用的声明”)
私人马文项目;
MavenProject
类具有您正在寻找的方法(
setArtifactId
等)

事实上,来自maven版本插件的插件将为您完成这项工作



一旦有这样的插件,这个答案就会更新。

这是我所知道的唯一方法

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


现在右键单击eclipse中的项目并更新maven项目。如果更新后没有任何错误,您可以继续。

我不知道有什么工具或maven插件可以做到这一点。我通常使用IDE及其搜索和替换功能。如果对几个artifactId使用groupId,请小心。我最终使用了sed:
find~/project/trunk-name“pom.xml”| xargs sed-I的/org.old.groupId/org.new.groupId/g'
。它就像一个符咒,但我仍然好奇这里是否有魔力。出于好奇,我发现:但它似乎有点旧:)谢谢!这正是我想要的。很遗憾它被遗弃了…@wemu你应该补充一个答案。其他人提出同样的问题时,很难找到解决问题的注释。我认为asker正在寻找一种解决方案,它不使用文本编辑器,而是一种专门设计用于更改组和工件ID的工具。是的,(虽然很久以前),其想法是批量更新几个子项目(pom.xml),希望使用maven并避免手动编辑。这是一种手动方法,我们正在寻找自动解决方案。