maven assembly plugin,maven dependency plugin的使用

lcz393537415發表於2016-07-14
maven assembly plugin: 將第三方jar包和應用整合打成一個jar包,打包時使用mvn clean, mvn assembly:assembly, jar檔案會比較冗餘盤大

maven dependency plugin: 將第三方jar包打包到一個資料夾中,打包時使用mvn clean,mvn package,伺服器上上傳一次lib包,後面的應用程式jar包檔案很小

暫時理解Pom.xml檔案中配置一個就可以了 如下:

點選(此處)摺疊或開啟

  1. <project xmlns="" xmlns:xsi=""
  2.     xsi:schemaLocation=" ">
  3.     <modelVersion>4.0.0</modelVersion>
  4.     <groupId>com.sany</groupId>
  5.     <artifactId>ECCDataElasticSearch</artifactId>
  6.     <version>0.0.1-SNAPSHOT</version>
  7.     <build>
  8.         <finalName>ECCDataElasticSearch</finalName> <!-- 指定輸出到target目錄的jar包名稱 -->
  9.         <plugins>
  10.         
  11.         <!-------------------- maven assembly plugin ------------------------>
  12. <!--             <plugin> -->
  13. <!--                 <artifactId>maven-assembly-plugin</artifactId> -->
  14. <!--                 <version>2.6</version> -->
  15. <!--                 <configuration> -->
  16. <!--                     <descriptorRefs> -->
  17. <!--                         <descriptorRef>jar-with-dependencies</descriptorRef> -->
  18. <!--                     </descriptorRefs> -->
  19. <!--                     <archive> -->
  20. <!--                         <manifest> -->
  21. <!--                             <mainClass>com.sany.ecc.WkTimeCal</mainClass> -->
  22. <!--                         </manifest> -->
  23. <!--                     </archive> -->
  24. <!--                 </configuration> -->
  25. <!--             </plugin> -->

  26.         
  27.         <!-- maven-dependency-plugin -------------------------------------------------------->    
  28.             <plugin>
  29.             <groupId>org.apache.maven.plugins</groupId>
  30.             <artifactId>maven-dependency-plugin</artifactId>
  31.             <executions>
  32.                 <execution>
  33.                     <id>copy-dependencies</id>
  34.                     <phase>prepare-package</phase>
  35.                     <goals>
  36.                         <goal>copy-dependencies</goal>
  37.                     </goals>
  38.                     <configuration>
  39.                         <outputDirectory>${project.build.directory}/lib</outputDirectory>
  40.                         <overWriteReleases>false</overWriteReleases>
  41.                         <overWriteSnapshots>false</overWriteSnapshots>
  42.                         <overWriteIfNewer>true</overWriteIfNewer>
  43.                     </configuration>
  44.                 </execution>
  45.             </executions>
  46.         </plugin>
  47.         <plugin>
  48.             <groupId>org.apache.maven.plugins</groupId>
  49.             <artifactId>maven-jar-plugin</artifactId>
  50.             <configuration>
  51.                 <archive>
  52.                     <manifest>
  53.                         <addClasspath>true</addClasspath>
  54.                         <classpathPrefix>lib/</classpathPrefix>
  55.                         <mainClass>com.sany.ecc.WkTimeCal</mainClass>
  56.                     </manifest>
  57.                 </archive>
  58.             </configuration>
  59.         </plugin>
  60.         </plugins>
  61.     </build>

  62.     <dependencies>
  63.         <!-- https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch -->
  64.         <dependency>
  65.             <groupId>org.elasticsearch</groupId>
  66.             <artifactId>elasticsearch</artifactId>
  67.             <version>2.3.3</version>
  68.         </dependency>

  69.         <!-- https://mvnrepository.com/artifact/log4j/log4j -->
  70.         <dependency>
  71.             <groupId>log4j</groupId>
  72.             <artifactId>log4j</artifactId>
  73.             <version>1.2.17</version>
  74.         </dependency>

  75.         <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
  76.         <dependency>
  77.             <groupId>mysql</groupId>
  78.             <artifactId>mysql-connector-java</artifactId>
  79.             <version>5.1.6</version>
  80.         </dependency>

  81.         <dependency>
  82.             <groupId>org.apache.kafka</groupId>
  83.             <artifactId>kafka_2.10</artifactId>
  84.             <version>0.8.2.1</version>
  85.         </dependency>
  86.     </dependencies>
  87. </project>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31347383/viewspace-2122027/,如需轉載,請註明出處,否則將追究法律責任。

相關文章