Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Maven 有没有办法用mvn编辑父相对路径_Maven - Fatal编程技术网

Maven 有没有办法用mvn编辑父相对路径

Maven 有没有办法用mvn编辑父相对路径,maven,Maven,是否有可以编辑所有子pom.xml文件的命令或机制,以便为所有子模块编辑或插入父relativePath标记 基本上,我有一个聚合的pom.xml,和一个单独的父级pom.xml。聚合器收集一组独立发布的独立git子模块,这些子模块的设置既不了解聚合器,也不了解父模块的相对位置,我希望找到一种方法来自动应用所需的编辑,以便它们能够这样做 aggregator/ - pom.xml - @parent/ - pom.xml - @module1/

是否有可以编辑所有子
pom.xml
文件的命令或机制,以便为所有子模块编辑或插入父
relativePath
标记

基本上,我有一个聚合的
pom.xml
,和一个单独的父级
pom.xml
。聚合器收集一组独立发布的独立git子模块,这些子模块的设置既不了解聚合器,也不了解父模块的相对位置,我希望找到一种方法来自动应用所需的编辑,以便它们能够这样做

aggregator/
    - pom.xml
    - @parent/
        - pom.xml
    - @module1/
        - pom.xml
模块引用父模块的发布版本,但我想将所有内容切换到-SNAPSHOT(
versions:update child modules
处理得非常好),并将模块指向父模块的
relativePath

目前,我手工编辑文件以在每个父节中插入
。/parent

聚合器对于项目来说是可选的,因为它是在事实发生很久之后才出现的,所以我无法将手工编辑更改提交到模块pom.xmls。这就是为什么我想为那些想使用聚合器的人提供一个动态机制


可能我不得不求助于XML解析器,但由于我还没有这么做,所以如果可以避免的话,那就太好了。

回答我自己的问题:

不,似乎没有办法使用
mvn


最后,我使用
python
找到了有问题的XML节点,然后对
pom.XML
文件进行了在线编辑。

因此,您有一个pom表示的结构,而不是您的目录结构。此外,我不明白关于你的聚合器的部分?如果所有孩子都有一个父项,那么将该父项放入结构的根中,这样会使生活更轻松……模块和父项作为独立的repo独立发布。聚合器是独立的,以方便查看整个世界。我编辑了这个问题来澄清这一点。聚合器pom.xml的内容是什么?如果我理解正确(可能不是),它根本不需要…只是所有子模块的列表,包括父模块。列表中没有其他位置,因此从这个意义上说,它是需要的。“父对象”是“子对象从中继承详细信息的公共基础”意义中的父对象,但不是“包含子模块列表”意义中的父对象。