我想在IntelliJ 2017.3中的多模块项目中查找和替换依赖项。
我没有找到了如何通过创建新的scope
并将模式设置为file[*]:pom.xml
来限制搜索范围的方法。
由于搜索是特定的,因此可以搜索整个<dependency>...</dependency>
字符串,但是最新的搜索并不能使多行查找和替换变得非常清晰。
我想做的是使用xpath
搜索/project/dependencies/dependency[./artifactId[text()='mymodule']
并插入一个新节点<type>war</type>
。有没有办法做到这一点?
我的find by xpath
似乎并没有给我带来任何结果,而且我不知道如何插入。
答案 0 :(得分:0)
您的XPath缺少最后一个]
来关闭您的谓词:
/project/dependencies/dependency[./artifactId[text()='mymodule']]
您可以更简单地将其写为:
/project/dependencies/dependency[artifactId='mymodule']
我不相信只有"search by XPath"有“用XPath代替”。
如果您使用find and replace by regex,则可以搜索:
(<artifactId>[\n\s]*mymodule[\n\s]*</artifactId>)
并替换为:
$1\n<type>war</type>