maven的pom文件學習

maven是規定了一種項目代碼佈局格式,maven按照這種格式進行代碼管理、依賴jar管理、單元測試、資管管理、編譯管理、發佈管理。java

maven的核心是mvn命令和pom.xml文件apache

pom.xml文件做爲maven和核心之一,對其語法使用總結以下:服務器

    1.properties關鍵字:項目的全局屬性,如打包須要的編碼 網絡

<properties>

  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

 </properties>

  2.repositories關鍵字:配置倉庫的http服務路徑,能夠是本地私服、也能夠是網絡服務器私服、或者官方服務器,有順序maven

<repositories>

  <repository>

   <id>build.local.libs</id>

   <url>http://build.local:8081/artifactory/libs-release-local</url>

   <layout>default</layout>

  </repository>

  <repository>

   <id>build.local.ext</id>

   <url>http://build.local:8081/artifactory/ext-release-local</url>

  </repository>

  <repository>

   <id>morphia.local</id>

   <name>build.local-releases</name>

   <url>http://build.local:8081/artifactory/morphia</url>

  </repository>

 </repositories>

 3.dependencies關鍵字:全部的依賴jar信息佈局

<dependencies>

  <dependency>

   <groupId>junit</groupId>

   <artifactId>junit</artifactId>

   <version>4.8.2</version>

   <scope>test</scope>

  </dependency>
</dependencies>

4.內部項目公共jar包發佈單元測試

<distributionManagement>

  <repository>

   <id>local-artifactory</id>

   <name>build.local-releases</name>

   <url>http://build.local:8081/artifactory/libs-release-local</url>

  </repository>

 </distributionManagement>

5.項目profile配置測試

<profiles>

  <profile>

   <id>dist</id>

   <build>

    <pluginManagement>

     <plugins>

      <plugin>

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

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

       <version>2.0.2</version>

       <configuration>

        <source>1.6</source>

        <target>1.6</target>

       </configuration>

      </plugin>

   <plugin>

    <groupId>org.mortbay.jetty</groupId>

    <artifactId>jetty-maven-plugin</artifactId>

    <version>8.0.1.v20110908</version>

   </plugin>

      <plugin>

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

       <artifactId>maven-assembly-plugin</artifactId>

       <configuration>

        <descriptors>

         <descriptor>assembly.xml</descriptor>

        </descriptors>

       </configuration>

       <executions>

        <execution>

         <phase>package</phase>

         <goals>

          <goal>attached</goal>

         </goals>

        </execution>

       </executions>

      </plugin>

     </plugins>

    </pluginManagement>

   </build>

  </profile>

  <profile>

   <id>sun.jdk</id>

   <activation>

    <property>

     <name>java.vendor</name>

     <value>Sun Microsystems Inc.</value>

    </property>

   </activation>

   <properties>

    <toolsjar>C:/Program Files/Java/jdk1.6.0_45/lib/tools.jar</toolsjar>

   </properties>

  </profile>

  <profile>

   <id>default-tools.jar</id>

   <activation>

    <property>

     <name>java.vendor</name>

     <value>Sun Microsystems Inc.</value>

    </property>

   </activation>

   <dependencies>

    <dependency>

     <groupId>com.sun</groupId>

     <artifactId>tools</artifactId>

     <version>1.5.0</version>

     <scope>system</scope>

     <!-- 此處根據實際配置 -->

     <systemPath>C:/Program Files/Java/jdk1.6.0_45/lib/tools.jar</systemPath>

    </dependency>

   </dependencies>

  </profile>

 </profiles>

 

    build設置:ui

Goals:clean install assembly:assembly編碼

Profiles:dist

相關文章
相關標籤/搜索