隨筆-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>


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

          <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后綴結(jié)尾,見官網(wǎng)http://maven.apache.org/plugins/maven-jar-plugin/examples/attached-jar.html -->
          <classifier>api</classifier>
          </configuration>
          </execution>
          </executions>
          </plugin>

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

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

          關(guān)鍵還是<classifier>api</classifier> 表明引用后綴名為api的jar,因為他們有相同的pom,就靠這個區(qū)分。
          posted on 2015-05-13 18:14 朔望魔刃 閱讀(308) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 德保县| 临猗县| 楚雄市| 邯郸市| 金昌市| 汉沽区| 绥中县| 枞阳县| 天等县| 曲麻莱县| 庐江县| 湖南省| 河北区| 阳原县| 威宁| 沾益县| 诏安县| 江西省| 康马县| 石城县| 同仁县| 丰县| 乌兰县| 静安区| 渝北区| 阳城县| 永春县| 合阳县| 和林格尔县| 鹤庆县| 洛浦县| 和政县| 高淳县| 六安市| 五常市| 团风县| 绩溪县| 古田县| 家居| 旅游| 桂平市|