有没有办法打印多模块maven项目的结构?
我正面临一个相当大的多模块maven项目。我想看看根(父)项目是如何由groupId形式的子项目/子项目组成的:artifactId(可以通过一些标识来反映层次结构)有没有办法打印多模块maven项目的结构?
当然,我可以编写自己的插件得到这个打印输出,但我认为,一定有什么可用的货架。
你好晚的答案,但我添加了一个插件到Maven仓库:
<dependency>
<groupId>org.qunix</groupId>
<artifactId>structure-maven-plugin</artifactId>
<version>0.0.1</version>
</dependency>
运行,您将需要添加到您的pom如下插件:
<build>
<plugins>
<plugin>
<groupId>org.qunix</groupId>
<artifactId>structure-maven-plugin</artifactId>
<version>0.0.1</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>
printModules
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后输出如下:
[INFO] --- structure-maven-plugin:0.0.1:printModules (default) @ test ---
[INFO]
Project structure (all modules):
test
|
|__ a
|
|__ b
|
|
\__ c
|
|__ d
|
|__ e
|
|__ f
如果您想要打印的所有文件insted的模块的使用目标:printAll,或者如果你只想文件夹使用的目标:printFolders。 <inherited>
意味着不要在模块中执行插件,并且<ignore>
表示使用正则表达式模式跳过此文件。
编辑:从来没有版本,你可以从github拉:https://github.com/buraksarac/MavenStructurePlugin
我还没有遇到过这样的插件,甚至没有听说过一个谷歌也不知道它,所以它可能你有写自己的插件或尝试解析mvn dependency:tree
或只是反应堆建造顺序,可能使用大量控制台输出流等。
谢谢。我已经害怕这个答案。 – sjaak 2012-04-19 14:10:18
我认为MVN dependency:tree
的方式去。
你应该试试这个:
mvn dependency:tree -DoutputFile=target/dependencies.txt
cat target/dependencies.txt | awk -F ':' '{print $1":"$2}'
这样的话,你将有一个不错的依赖关系树与缩进,但没有范围,版本和类型:)
谢谢。但我的意思是相反的。是的,您可以通过树来打印子组件的依赖关系。但是,您是否也可以收集根项目(由子组件构成)所需的所有依赖关系? – sjaak 2012-10-03 12:01:48
这个插件太棒了!你是最好的。 – javajavajava 2016-10-07 16:15:44
@javajavajava我很高兴它帮助:) – HRgiger 2016-10-10 08:25:08
@HRgiger伟大的工作!这正是我想要的。对不起,我的(非常)迟到的答复。 – sjaak 2017-02-11 12:06:18