隨筆-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 朔望魔刃 閱讀(314) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 永登县| 来宾市| 古浪县| 西和县| 南雄市| 革吉县| 常宁市| 台北县| 福鼎市| 淮滨县| 阿瓦提县| 马山县| 阿克| 鄂托克旗| 西峡县| 江永县| 开江县| 桃源县| 宝兴县| 南岸区| 宜阳县| 上犹县| 吴江市| 永和县| 兴仁县| 昌都县| 龙州县| 东至县| 屯门区| 德阳市| 四平市| 邛崃市| 临漳县| 莱芜市| 海城市| 琼海市| 集贤县| 仁怀市| 布尔津县| 泰和县| 高青县|