Maven建模表示法

时间:2012-10-22 13:30:56

标签: maven modeling diagramming

是否有一个普遍接受的表示法允许表示Maven项目的依赖关系,继承和模块聚合?

我没有花很多时间看,但没有立刻跳出来对我说。

我已经看到Sonatype's Complete Reference (eg. Figure 3.5. Enterprise Multi-module vs. Inheritance)中使用的符号,但更喜欢不依赖颜色来传达语义的东西。

我一直在使用类似UML的语法,它显示项目“聚合”(菱形符号)列出的<modules>部分中的项目,父子关系的UML继承和带箭头的折线显示依赖性。

那里有更好的想法吗?

1 个答案:

答案 0 :(得分:0)

对于依赖关系图,约定是使用dependency:tree

的输出

[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] ------------------------------------------------------------------------

事实证明这个插件can output to a visual graph

请参阅:Maven Dependency Plugin - Output type

如果您使用的是IntelliJ IDEA,it has a built in Maven dependency graph as well