<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    rosial

    lost memory
    數(shù)據(jù)加載中……

    zz - Maven學(xué)習(xí)總結(jié)

    原文地址:http://www.cnblogs.com/hanwesley/articles/1948230.html

    Maven學(xué)習(xí)總結(jié)

    2011-01-31 12:26 by hanwesley, 603 visits, 收藏編輯

    Maven簡單介紹

    Maven是基于項目對象模型(Project Object Model),可以通過一小段描述信息來管理項目的構(gòu)建,報告和文檔的軟件項目管理工具.

    掌握maven就是要學(xué)會如何編寫pom.xml,尤其對于多個子項目的管理

    約定俗成

    src/main/java  存放Java文件

    src/main/resources  存放資源文件

    src/main/test  存放測試文件

    Maven坐標(biāo)

    <groupId>com.ibatis</groupId>  項目屬于哪個組

    <artifactId>ibatis-sqlmap</artifactId>  項目在組中唯一的ID

    <version>2.1.0.565</version>  項目當(dāng)前的版本

    <name>ibatis sqlmap包</name>  非必需,描述信息

    在Maven中任何的jar,POM,或者war都是基于坐標(biāo)進(jìn)行區(qū)分的

    Maven主項目和子項目管理的不同

      主項目jar包版本統(tǒng)一管理

    <dependencyManagement>

      子項目不用指定jar包版本

    指定當(dāng)前項目的坐標(biāo):

    <groupId>com.taobao.newLauncher</groupId>

    <artifactId>newLauncher-biz-home</artifactId>

    <name>newlauncher-biz-home</name>

    <version>1.0.0</version>

    <packaging>jar</packaging>

    如果是主pom文件, packaging指定為pom

    如果是要生成的war包,packaging指定為war

     

    主項目指定子項目

        <modules>

           <module>newlauncher-biz-core</module>

           <module>newlauncher-biz-home</module>

      </modules>

     

    子項目需要指定parent

      <parent>

           <artifactId>newLauncher</artifactId>

           <groupId>com.taobao.newLauncher</groupId>

           <version>1.0.0</version>

    </parent>

    Maven命令

    mvn clean     刪除target目錄內(nèi)容

    mvn package   打包

    mvn install   讓項目真正引用生成的jar包

    mvn test      執(zhí)行測試用例

    Maven插件

    1)maven-compiler-plugin 指定JDK版本

          <plugin>

                 <artifactId>maven-compiler-plugin</artifactId>

                 <version>2.3.2</version>

                 <configuration>

                  <source>1.6</source>

                  <target>1.6</target>

                  <showWarnings>true</showWarnings>

                  <encoding>gbk</encoding>

                 </configuration>

                 <dependencies>

                  <dependency>

                    <groupId>org.codehaus.plexus</groupId>

                    <artifactId>plexus-compiler-javac</artifactId>

                    <version>1.8.1</version>

                  </dependency>

                 </dependencies>

           </plugin>

     

    2)maven-war-plugin 打war包 在web子項目中指定

     

    <build>          

        <finalName>launcher</finalName>

        <directory>target/jboss</directory>

         <plugins>

                 <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-war-plugin</artifactId>

                    <version>2.1.1</version>

                    <configuration>

                        <webResources>

                            <resource>

    <directory>src/main/resources</directory>

                                <filtering>true</filtering>

                                <includes>

                                    <include>**/*.xml</include>

                                    <include>**/*.vm</include>

                                </includes>

                                <targetPath>WEB-INF</targetPath>

                            </resource>   

                        </webResources>

                    </configuration>

                </plugin>

            </plugins>

    </build>

     

    3)單元測試插件

     

    <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-surefire-plugin</artifactId>

        <version>2.6</version>

        <configuration>

           <testFailureIgnore>true</testFailureIgnore>

     <!-單元測試失敗依然打包-->

           <skip>true</skip> 是否過濾單元測試

           <!--<includes>

               <include>**/*Test.java</include>

           </includes>-->

           <excludes>

               <exclude>**/*Test.java</exclude>

             </excludes>

        </configuration>

    </plugin>

     

    4)jar包插件

     

    <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-jar-plugin</artifactId>

        <version>2.3.1</version>

        <configuration>

           <archive>

              <addMavenDescriptor>false</addMavenDescriptor>

    是否增加maven描述信息

               <manifest>

    <addDefaultImplementationEntries>

    true

    </addDefaultImplementationEntries>

               </manifest>

               <manifestEntries>

              <Implementation-Build>${buildNumber}</Implementation-Build>

               </manifestEntries>

           </archive>

        </configuration>

    </plugin>

     

    5)resource插件  類似antx的auto-config功能

    Mvn package –Pdev  dev即定義的ID

    Antx中的屬性文件在Maven中如何引用?

    在主pom.xml中增加配置屬性 

    <profiles>中可以有多個profile, id需唯一

     

    <profiles>

           <profile>

               <id>dev</id>

               <properties>

               <props>launcher.properties.dev</props>

      <dependency.version.ext>-SNAPSHOT</dependency.version.ext>

               </properties>

               <activation>

                  <activeByDefault>true</activeByDefault>

    是否默認(rèn)引用此文件 如果此項為true,引用此文件 參數(shù)-P可以不加

               </activation>

           </profile>

        </profiles>

     

    根據(jù)外部屬性文件填寫需要過濾文件中的變量,默認(rèn)會生成到classes目錄

     

    <filters>

               <filter>jdbc.properties.dev</filter>

    Filter 配置項指定過濾那個文件?

    1) 可以寫文件名

    2) 也可以寫-P指定的profile ,

    引用的是上述定義的profile dbc.properties.dev替換為../${props}

           </filters>

           <resources>

               <resource>

                  <directory>src/main/resources</directory>

                  <filtering>true</filtering>

    true需要過濾,false不需要過濾

                  <includes>  需要過濾的文件

                      <include>**/*.*</include>

                      <include>**/*</include>

                  </includes>

                  <excludes> 那些文件不需要移動到classes目錄

                  <exclude>**/*.xml</exclude>

                  <exclude>**/*.vm</exclude>

                  </excludes>

               </resource>

               <resource>

                  <directory>src/main/java</directory>

                  <includes>

                      <include>**/*.xml</include>

                  </includes>

               </resource>

           </resources>

    6)maven-eclipse-plugin插件

        <plugin>

                      <groupId>org.apache.maven.plugins</groupId>

                      <artifactId>maven-eclipse-plugin</artifactId>

                      <version>2.8</version>

                      <configuration>

                         <sourceExcludes>

                             <sourceExclude>**/.svn/</sourceExclude>

                         </sourceExcludes>

                         <downloadSources>true</downloadSources>

                      </configuration>

                  </plugin>

    Maven庫配置

    Maven從中央倉庫下載這些資源文件,如果需要修改項目的下載地址,可以在主pom.xml文件中加入:

    <repositories></repositories> 中任意增加repository倉庫

    <repository>

         <id>simba-nexus</id>

    <url>http://mvnrepo.maven.com/nexus/content/repositories/releases</url>

         <releases>

           <enabled>true</enabled>

        </releases>

        <snapshots>

           <enabled>false</enabled>

        </snapshots>

    </repository>

    posted on 2011-11-17 15:37 rosial 閱讀(570) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 中美日韩在线网免费毛片视频| 亚洲精品亚洲人成在线观看下载| 一级毛片在线播放免费| 亚洲三级在线播放| 亚洲AV无码成人精品区蜜桃| 免费日韩在线视频| 亚洲免费综合色在线视频| 久久一区二区三区免费播放| 国产区在线免费观看| 色天使亚洲综合一区二区| 亚洲一区电影在线观看| 久久亚洲精品成人av无码网站| 亚洲中文字幕无码永久在线| 四虎影视免费永久在线观看| 处破痛哭A√18成年片免费| 免费观看激色视频网站bd| 久久久久国色av免费看| 日韩免费高清播放器| 一级毛片**免费看试看20分钟| 亚洲AV网一区二区三区| 亚洲精品无码av中文字幕| 亚洲五月丁香综合视频| 亚洲国产精品综合久久2007| 久久久久亚洲精品无码蜜桃| 久久亚洲国产精品五月天| 亚洲乱码日产一区三区| 亚洲午夜久久久影院| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲精品无码你懂的网站| 国产精品无码免费视频二三区| 女人18毛片特级一级免费视频| 免费无码A片一区二三区 | 亚洲 欧洲 自拍 另类 校园| 久久狠狠高潮亚洲精品| 久久精品国产亚洲AV无码偷窥| 91嫩草私人成人亚洲影院| 亚洲精品视频久久| 精品亚洲成A人无码成A在线观看| 亚洲日本va在线观看| 在线亚洲午夜片AV大片| 亚洲丶国产丶欧美一区二区三区 |