隨筆-95  評論-31  文章-10  trackbacks-0
          需求:
          1:有時候我們需要對外只提供API接口和DTO,但是整個項目還包括service、dao等,所以我們只想打包一個xxx-api.jar以及一個完整的xxx.jar并且需要install到本地倉庫以及私服,以及打包一個項目運行的zip文件,包括conf、lib、logs ,那么該怎么辦?

          答:先使用第一個插件,將API接口和DTO提取成單獨的源文件包目錄 src/main/api
          <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.8</version>
          <executions>
           <execution>
               <id>add-api-source</id>
               <phase>generate-sources</phase>
               <goals>
                    <goal>add-source</goal>
               </goals>
          <configuration>
          <sources>                              <source>src/main/api</source>
          </sources>
          </configuration>
          </execution>                        
          </executions>
          </plugin>


          其次使用第二個插件,進行打包,里面關鍵是<classifier>api</classifier>
          表示再次打包以api后綴結尾,如果不寫改行,那么不會進行二次打包

          <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.5</version>
          <executions>
          <execution>         
          <phase>package</phase>
          <goals>
          <goal>jar</goal>
          </goals>
          <configuration>
          <includes>
          <include>**/api/**</include>
          </includes>
          <!-- 要求再次生成一個jar包以api后綴結尾,見官網http://maven.apache.org/plugins/maven-jar-plugin/examples/attached-jar.html -->
          <classifier>api</classifier>
          </configuration>
          </execution>
          </executions>
          </plugin>

          接著執行install就會生成兩個包文件一個xxxx.jar、一個xxxx-api.jar。

          最后引用:
          <dependency>
          <groupId>xxxx</groupId>
          <artifactId>xxxx</artifactId>
          <classifier>api</classifier>
          <version>0.0.1-SNAPSHOT</version>
          </dependency>

          關鍵還是<classifier>api</classifier> 表明引用后綴名為api的jar,因為他們有相同的pom,就靠這個區分。
          posted on 2015-05-13 18:14 朔望魔刃 閱讀(308) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 静海县| 榆林市| 大姚县| 成安县| 星座| 巴彦淖尔市| 北安市| 聂荣县| 玛纳斯县| 长春市| 瑞金市| 隆子县| 博湖县| 红河县| 区。| 都江堰市| 石棉县| 宜州市| 金溪县| 亳州市| 塔城市| 益阳市| 五莲县| 财经| 武宣县| 辽阳县| 广昌县| 石嘴山市| 鄱阳县| 中方县| 拉孜县| 本溪| 永清县| 分宜县| 大冶市| 双桥区| 新蔡县| 武宁县| 高唐县| 湛江市| 陆河县|