是否有一个普遍接受的符号来表示 Maven 项目的依赖关系、继承和模块聚合?
我没有花很多时间去看,但没有什么东西立刻跳出来。
我已经看到了 Sonatype 的完整参考中使用的符号(例如图 3.5。企业多模块与继承),但更喜欢不依赖颜色来传达语义的东西。
我一直在使用类似 UML 的语法,它显示了一个项目“聚合”(菱形符号)在它的<modules>
部分中列出的项目、父子关系的 UML 继承和带有箭头的虚线以显示依赖关系。
那里有更好的想法吗?
是否有一个普遍接受的符号来表示 Maven 项目的依赖关系、继承和模块聚合?
我没有花很多时间去看,但没有什么东西立刻跳出来。
我已经看到了 Sonatype 的完整参考中使用的符号(例如图 3.5。企业多模块与继承),但更喜欢不依赖颜色来传达语义的东西。
我一直在使用类似 UML 的语法,它显示了一个项目“聚合”(菱形符号)在它的<modules>
部分中列出的项目、父子关系的 UML 继承和带有箭头的虚线以显示依赖关系。
那里有更好的想法吗?
对于依赖关系图,约定是使用dependency:tree
IE
[user:maven-test]$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-test 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ maven-test ---
[INFO] maven-test:maven-test:jar:1.0
[INFO] +- junit:junit:jar:3.8.1:test
[INFO] +- com.sun.jersey:jersey-json:jar:1.9.1:compile
[INFO] | +- org.codehaus.jettison:jettison:jar:1.1:compile
[INFO] | | \- stax:stax-api:jar:1.0.1:compile
[INFO] | +- com.sun.xml.bind:jaxb-impl:jar:2.2.3-1:compile
[INFO] | | \- javax.xml.bind:jaxb-api:jar:2.2.2:compile
[INFO] | | +- javax.xml.stream:stax-api:jar:1.0-2:compile
[INFO] | | \- javax.activation:activation:jar:1.1:compile
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.8.3:compile
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.8.3:compile
[INFO] | +- org.codehaus.jackson:jackson-jaxrs:jar:1.8.3:compile
[INFO] | +- org.codehaus.jackson:jackson-xc:jar:1.8.3:compile
[INFO] | \- com.sun.jersey:jersey-core:jar:1.9.1:compile
[INFO] +- com.sun.jersey:jersey-server:jar:1.14:compile
[INFO] | \- asm:asm:jar:3.1:compile
[INFO] \- com.sun.jersey:jersey-client:jar:1.14:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
事实证明,这个插件可以输出到可视化图表。
请参阅:Maven 依赖插件 - 输出类型。
如果您使用的是 IntelliJ IDEA,它还有一个内置的 Maven 依赖关系图。