[Maven]如何構建依賴圖

Maven Graph Plugin:
使用該插件首先需要安裝Graphviz,msi安裝會將執行文件複製到system32目錄下,zip安裝則需要將bin路徑添加至環境變量。
如何使用:
首先需要在maven的配置信息中添加該插件的庫信息,用以下載相關插件:
<project>
  <profiles>
  
    <profile>
      <id>graph</id>
      <pluginRepositories>
        <pluginRepository>
          <id>mvnplugins.fusesource.org</id>
          <url>http://mvnplugins.fusesource.org/repo/release</url>
          <releases>
            <enabled>true</enabled>
          </releases>
        </pluginRepository>
      </pluginRepositories>
      <build>
        <plugins>
          <plugin>
            <groupId>org.fusesource.mvnplugins</groupId>
            <artifactId>maven-graph-plugin</artifactId>
            <version>1.4</version>
          </plugin>
        </plugins>
      </build>
    </profile>
    
  </profiles>
</project> 

然後在pom.xml中添加graph,其實就添加一個graph phase。

<build>
        <plugins>
             <plugin>
                 <groupId> org.fusesource.mvnplugins</groupId >
                 <artifactId> maven-graph-plugin</artifactId>
                 <configuration>
                                 
                 </configuration>
             </plugin>
       </plugins>
 </build>

configuration參數參考:link
然後執行
mvn -P graph graph:reactor
然後就會在項目跟路徑target目錄下生成一張依據pom.xml生成的依賴關係圖。


pom文件爲:
< project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        < modelVersion> 4.0.0</ modelVersion >
        < groupId> com.company.abc </groupId >
        < artifactId> ConcurrencyTester </artifactId >
        < version> 0.0.1-SNAPSHOT </version >
        < dependencies>
              < dependency>
                     < groupId> org.springframework </groupId >
                     < artifactId> spring</ artifactId >
                     < version> 2.5.6</ version >
              </ dependency>
              < dependency>
                     < groupId> netease.ddb </groupId >
                     < artifactId> db </artifactId >
                     < version> 4.5.1</ version >
                     < exclusions>
                            < exclusion>
                                  < groupId> jta </groupId >
                                  < artifactId> jta </artifactId >
                            </ exclusion>
                     </ exclusions>
              </ dependency>
              < dependency>
                     < groupId> javax.transaction </groupId >
                     < artifactId> jta </artifactId >
                     < version> 1.1</ version >
              </ dependency>
              < dependency>
                     < groupId> com.google.code.simple-spring-memcached </ groupId>
                     < artifactId> spymemcached </artifactId >
                     < version> 2.8.4</ version >
              </ dependency>
              < dependency>
                     < groupId> org.apache.ibatis </groupId >
                     < artifactId> ibatis- sqlmap</ artifactId>
                     < version> 2.3.4.726 </version >
              </ dependency>
        </ dependencies>
        < build>
              < plugins>
                     < plugin>
                            < groupId> org.fusesource.mvnplugins </groupId >
                            < artifactId> maven-graph- plugin</ artifactId>
                            < configuration>
                                 
                            </ configuration>
                     </ plugin>
              </ plugins>
        </ build>
</ project>

方法二:
使用maven-dependencygraph-plugin
mvn com.github.janssk1:maven-dependencygraph-plugin:1.0:graph
會在target目錄下生成graphml文件,可以利用yEd Graph Editor工具來查看。

方法三:

爆棧網提供的pomParser這個開源項目有問題,路徑、分隔符這些東西都做了硬編碼,pom文件也有問題,生成的jar文件沒有把配置信息包進去,在生成html的信息的時候會報文件異常。總之是個需要做調整才能使用?的工具,個人未驗證。


方法四:
最不濟還可以用ant來進行resolve的時候輸出依賴信息:
ant -verbose resolve



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章