Maven 설정 상세 설명

27958 단어 maven
<project xmlns="http://maven.apache.org/POM/4.0.0 "  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "  
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">  
    <!--      。               ,                  。     group ID,artifact ID  version。-->
    <parent> 
     <!--             -->
     <artifactId/> 
     <!--               -->
     <groupId/> 
     <!--          -->
     <version/> 
     <!--    pom.xml       。                。    ../pom.xml。Maven                  pom,            (relativePath  ),       ,             pom。-->
     <relativePath/> 
 </parent> 
 <!--            POM    。           ,    ,          ,     Maven                  ,     。-->    
    <modelVersion>4.0.0</modelVersion>  
    <!--          ,                    。                ,  com.mycompany.app        :/com/mycompany/app-->  
    <groupId>asia.banseon</groupId>   
    <!--      ,  group ID          。    ,                artifact ID groupID;      group ID ,artifact ID       。                ,Maven          :JARs,  ,      WARs 。-->  
    <artifactId>banseon-maven2</artifactId>   
    <!--         ,  jar、war、ear、pom。               ,              -->  
    <packaging>jar</packaging>   
    <!--      ,   :   .   .    -     -->  
    <version>1.0-SNAPSHOT</version>  
    <!--     , Maven      -->  
    <name>banseon-maven</name>  
    <!--     URL, Maven      -->  
    <url>http://www.baidu.com/banseon</url>  
    <!--       , Maven       。          HTML     (  ,CDATA           ,     HTML  ),           。          web       ,              ,          。-->  
    <description>A maven project to study maven.</description>   
    <!--                 。-->
 <prerequisites> 
  <!--               Maven     -->
    <maven/>
 </prerequisites> 
 <!--         (Bugzilla, Jira, Scarab,             )    URL,    jira-->  
    <issueManagement> 
     <!--      (  jira)   ,-->  
        <system>jira</system>  
        <!--             URL-->
        <url>http://jira.baidu.com/banseon</url>  
    </issueManagement>  
    <!--        -->
 <ciManagement> 
  <!--         ,  continuum-->
  <system/> 
  <!--             URL(         web    )。-->
  <url/> 
  <!--     ,        /      。             (  ,  ,  ,  )-->
  <notifiers> 
   <!--      ,      ,        /   -->
   <notifier> 
    <!--       -->
    <type/> 
    <!--         -->
    <sendOnError/> 
    <!--         -->
    <sendOnFailure/> 
    <!--         -->
    <sendOnSuccess/> 
    <!--         -->
    <sendOnWarning/> 
    <!--     。       -->
    <address/> 
    <!--     -->
    <configuration/>
   </notifier>
  </notifiers>
 </ciManagement> 
 <!--      ,4   。               。-->
    <inceptionYear/> 
    <!--          -->  
    <mailingLists> 
     <!--                 。             。-->  
        <mailingList>  
         <!--     -->
            <name>Demo</name>   
            <!--          ,       ,     ,mailto:         -->  
            <post>[email protected]</post>  
            <!--          ,       ,     ,mailto:         -->  
            <subscribe>[email protected]</subscribe>   
            <!--            ,       ,     ,mailto:         -->  
            <unsubscribe>[email protected]</unsubscribe>  
            <!--          URL-->
            <archive>http:/hi.baidu.com/banseon/demo/dev/</archive>  
        </mailingList>  
    </mailingLists>  
    <!--       -->  
    <developers>  
     <!--          -->
        <developer>  
         <!--SCM            -->
            <id>HELLO WORLD</id>   
            <!--        -->
            <name>banseon</name>  
            <!--      email-->
            <email>[email protected]</email>  
            <!--         URL-->
            <url/> 
            <!--              ,           -->
            <roles>  
                <role>Project Manager</role>  
                <role>Architect</role>  
            </roles> 
            <!--         --> 
            <organization>demo</organization>  
            <!--          URL-->
            <organizationUrl>http://hi.baidu.com/banseon</organizationUrl>  
            <!--       ,          -->
            <properties>  
                <dept>No</dept>  
            </properties> 
            <!--         , -11 12      。--> 
            <timezone>-5</timezone>  
        </developer>  
    </developers>  
    <!--          -->  
    <contributors> 
     <!--        。  developers/developer  -->
     <contributor>
   <name/><email/><url/><organization/><organizationUrl/><roles/><timezone/><properties/>
     </contributor>     
    </contributors>    
    <!--          License  。          license  ,          license  。      license,                   license。-->  
    <licenses> 
     <!--      license,       web   license  ,       validation       。-->  
        <license> 
         <!--license        --> 
            <name>Apache 2</name>  
            <!--   license     URL-->
            <url>http://www.baidu.com/banseon/LICENSE-2.0.txt</url>  
            <!--         :
              repo,   Maven   
              manual,              -->
            <distribution>repo</distribution>  
            <!--  license     -->
            <comments>A business-friendly OSS license</comments>  
        </license>  
    </licenses>  
    <!--SCM(Source Control Management)            , Maven web         。-->  
    <scm>  
        <!--SCM URL, URL               。    ,  SCMs   URL     。     。-->  
        <connection>  
            scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)   
        </connection>  
        <!--       ,  connection  。         -->
        <developerConnection>  
            scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk   
        </developerConnection> 
        <!--       ,        HEAD-->
        <tag/>         
        <!--        SCM (  ViewVC  Fisheye) URL。-->  
        <url>http://svn.baidu.com/banseon</url>  
    </scm>  
    <!--             。Maven      -->  
    <organization>  
     <!--     -->
        <name>demo</name>   
        <!--     URL-->
        <url>http://www.baidu.com/banseon</url>  
    </organization> 
    <!--         -->
    <build> 
     <!--            ,        ,             。       pom.xml     。-->
  <sourceDirectory/> 
  <!--              ,          :       ,                 (         ,       )。-->
  <scriptSourceDirectory/> 
  <!--                   ,        ,             。       pom.xml     。-->
  <testSourceDirectory/> 
  <!--         class       。-->
  <outputDirectory/> 
  <!--       class       。-->
  <testOutputDirectory/> 
  <!--               -->
  <extensions> 
   <!--          。-->
   <extension> 
    <!--     groupId-->
    <groupId/> 
    <!--     artifactId-->
    <artifactId/> 
    <!--       -->
    <version/>
   </extension>
  </extensions> 
  <!--         (Maven2     )     -->
  <defaultGoal/> 
  <!--                    ,            ,                。-->
  <resources> 
   <!--                       -->
   <resource> 
    <!--          。     target/classes  (  ${project.build.outputDirectory})。    ,            (org.apache.maven.messages),          org/apache/maven/messages。  ,                  ,       。-->
    <targetPath/> 
    <!--            。     properties            ,   filters     。-->
    <filtering/> 
    <!--         ,     POM  -->
    <directory/> 
    <!--       ,  **/*.xml.-->
    <includes/> 
    <!--       ,  **/*.xml-->
    <excludes/>
   </resource>
  </resources> 
  <!--                    ,              。-->
  <testResources> 
   <!--                  ,  build/resources/resource     -->
   <testResource>
    <targetPath/><filtering/><directory/><includes/><excludes/>
   </testResource>
  </testResources> 
  <!--              -->
  <directory/> 
  <!--         ,    ${artifactId}-${version}。-->
  <finalName/> 
  <!-- filtering     ,             -->
  <filters/> 
  <!--              。                         。                    -->
  <pluginManagement> 
   <!--        。-->
   <plugins> 
    <!--plugin              。-->
    <plugin> 
     <!--       group ID-->
     <groupId/> 
     <!--       artifact ID-->
     <artifactId/> 
     <!--         (     )-->
     <version/> 
     <!--        Maven  (          ),      ,         ,        enabled。-->
     <extensions/> 
     <!--                 。            。-->
     <executions> 
      <!--execution              -->
      <execution> 
       <!--        ,            ,                  -->
       <id/> 
       <!--              ,    ,                  -->
       <phase/> 
       <!--       -->
       <goals/> 
       <!--         POM-->
       <inherited/> 
       <!--  DOM     -->
       <configuration/>
      </execution>
     </executions> 
     <!--              -->
     <dependencies> 
      <!--  dependencies/dependency  -->
      <dependency>
       ......
      </dependency>
     </dependencies>      
     <!--             -->
     <inherited/> 
     <!--  DOM     -->
     <configuration/>
    </plugin>
   </plugins>
  </pluginManagement> 
  <!--       -->
  <plugins> 
   <!--  build/pluginManagement/plugins/plugin  -->
   <plugin>
    <groupId/><artifactId/><version/><extensions/>
    <executions>
     <execution>
      <id/><phase/><goals/><inherited/><configuration/>
     </execution>
    </executions>
    <dependencies> 
     <!--  dependencies/dependency  -->
     <dependency>
      ......
     </dependency>
    </dependencies>
    <goals/><inherited/><configuration/>
   </plugin>
  </plugins>
 </build> 
 <!--       profile,     ,       -->
 <profiles> 
  <!--                    -->
  <profile> 
   <!--          。        ,                 profile。-->
   <id/> 
   <!--    profile     。Activation profile     。profile       
                        ;      activation    。activation       profile     。-->
   <activation> 
    <!--profile         -->
    <activeByDefault/> 
    <!--    jdk    ,profile   。  ,1.4  JDK1.4,1.4.0_2, !1.4         1.4   JDK。-->
    <jdk/> 
    <!--              ,profile   。os                 。-->
    <os> 
     <!--  profile        -->
     <name>Windows XP</name> 
     <!--  profile         (  'windows')-->
     <family>Windows</family> 
     <!--  profile          -->
     <arch>x86</arch> 
     <!--  profile       -->
     <version>5.1.2600</version>
    </os> 
    <!--  Maven        (     POM   ${  }  ),          ,Profile     。   
         ,              profile,                 -->
    <property> 
     <!--  profile      -->
     <name>mavenVersion</name> 
     <!--  profile     -->
     <value>2.0.3</value>
    </property> 
    <!--       ,                 profile。missing        ,        
    profile。    ,exists          ,       profile。-->
    <file> 
     <!--         ,   profile。-->
     <exists>/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/</exists> 
     <!--          ,   profile。-->
     <missing>/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/</missing>
    </file>
   </activation> 
   <!--          。  build  -->
   <build>
    <defaultGoal/>
    <resources>
     <resource>
      <targetPath/><filtering/><directory/><includes/><excludes/>
     </resource>
    </resources>
    <testResources>
     <testResource>
      <targetPath/><filtering/><directory/><includes/><excludes/>
     </testResource>
    </testResources>
    <directory/><finalName/><filters/>
    <pluginManagement>
     <plugins> 
      <!--  build/pluginManagement/plugins/plugin  -->
      <plugin>
       <groupId/><artifactId/><version/><extensions/>
       <executions>
        <execution>
         <id/><phase/><goals/><inherited/><configuration/>
        </execution>
       </executions>
       <dependencies> 
        <!--  dependencies/dependency  -->
        <dependency>
         ......
        </dependency>
       </dependencies>
       <goals/><inherited/><configuration/>
      </plugin>
     </plugins>
    </pluginManagement>
    <plugins> 
     <!--  build/pluginManagement/plugins/plugin  -->
     <plugin>
      <groupId/><artifactId/><version/><extensions/>
      <executions>
       <execution>
        <id/><phase/><goals/><inherited/><configuration/>
       </execution>
      </executions>
      <dependencies> 
       <!--  dependencies/dependency  -->
       <dependency>
        ......
       </dependency>
      </dependencies>
      <goals/><inherited/><configuration/>
     </plugin>
    </plugins>
   </build> 
   <!--  (       )           。                       -->
   <modules/> 
   <!--              。-->
   <repositories> 
    <!--  repositories/repository  -->
    <repository>
     <releases>
      <enabled/><updatePolicy/><checksumPolicy/>
     </releases>
     <snapshots>
      <enabled/><updatePolicy/><checksumPolicy/>
     </snapshots>
     <id/><name/><url/><layout/>
    </repository>
   </repositories> 
   <!--           ,           -->
   <pluginRepositories> 
    <!--                .  repositories/repository  -->    
    <pluginRepository>
     <releases>
      <enabled/><updatePolicy/><checksumPolicy/>
     </releases>
     <snapshots>
      <enabled/><updatePolicy/><checksumPolicy/>
     </snapshots>
     <id/><name/><url/><layout/>
    </pluginRepository>
   </pluginRepositories> 
   <!--               。                     。               。       ,        。-->
   <dependencies> 
    <!--  dependencies/dependency  -->
    <dependency>
     ......
    </dependency>
   </dependencies> 
   <!--     .   Maven     .-->
   <reports/>    
   <!--                  。     “mvn site”,        。                 。  reporting  -->
   <reporting>
    ......
   </reporting> 
   <!--  dependencyManagement  -->
   <dependencyManagement>
    <dependencies> 
     <!--  dependencies/dependency  -->
     <dependency>
      ......
     </dependency>
    </dependencies>
   </dependencyManagement> 
   <!--  distributionManagement  -->
   <distributionManagement>
    ......
   </distributionManagement> 
   <!--  properties  -->
   <properties/>
  </profile>
 </profiles> 
 <!--  (       )           。                       -->
 <modules/>
    <!--              。-->  
    <repositories>  
     <!--              -->
        <repository> 
         <!--                -->
         <releases> 
          <!--true  false                (   ,   )  。 -->
    <enabled/> 
    <!--            。Maven     POM   POM    。      :always(  ),daily(  ,  ),interval:X(  X            ),  never(  )。-->
    <updatePolicy/> 
    <!-- Maven               :ignore(  ),fail(  ),  warn(  )。-->
    <checksumPolicy/>
   </releases> 
   <!--                。  releases snapshots     ,POM            ,               。  ,                         。  repositories/repository/releases  -->
   <snapshots>
    <enabled/><updatePolicy/><checksumPolicy/>
   </snapshots> 
   <!--         。       settings.xml          -->
   <id>banseon-repository-proxy</id>  
   <!--      -->
            <name>banseon-repository-proxy</name>  
            <!--    URL, protocol://hostname/path  -->
            <url>http://192.168.1.169:9999/repository/</url>  
            <!--                -   default(  )  legacy(  )。Maven 2              ;  ,Maven 1.x        。              default(  )  legacy(  )。-->
            <layout>default</layout>            
        </repository>  
    </repositories> 
    <!--           ,           -->
    <pluginRepositories> 
     <!--                .  repositories/repository  -->
  <pluginRepository>
   ......
  </pluginRepository>
 </pluginRepositories> 
    
    <!--               。                     。               。       ,        。-->  
    <dependencies>  
        <dependency>
   <!--   group ID-->
            <groupId>org.apache.maven</groupId>  
            <!--   artifact ID-->
            <artifactId>maven-artifact</artifactId>  
            <!--      。  Maven 2 ,             。-->
            <version>3.8.1</version>  
            <!--    ,     jar。              ,     。                     。              ,       。       :jar,war,ejb-client test-jar。    extensions  true,    plugin       。             。-->
            <type>jar</type> 
            <!--      。            POM,          。                 。  ,               JAR,    Java 1.4   ,     Java 6   ,                 JAR  。-->
            <classifier></classifier> 
            <!--    。        ,             。           。 
                - compile :    ,       
                - provided:     ,      jdk      ,   classpath   
                - runtime:            
                - test:      test        
                - system:            。  systemPath      
                - systemPath:       system。          
                - optional:            ,        。         -->  
            <scope>test</scope>     
            <!--  system    。  ,         ,                 。                 。             。            ,  ${java.home}。--> 
            <systemPath></systemPath>  
            <!--        ,         ,           。   maven         ,        。               --> 
            <exclusions>
             <exclusion>  
                    <artifactId>spring-core</artifactId>  
                    <groupId>org.springframework</groupId>  
                </exclusion>  
            </exclusions>    
            <!--    ,      B  C       ,        B   (    A)       C   。            。-->  
            <optional>true</optional>
        </dependency>
    </dependencies> 
    <!--     .   Maven     .-->
    <reports></reports> 
    <!--                  。     “mvn site”,        。                 。--> 
 <reporting> 
  <!--true, ,          。   “    ”      。-->
  <excludeDefaults/> 
  <!--            。    ${project.build.directory}/site。-->
  <outputDirectory/> 
  <!--             。-->
  <plugins> 
   <!--plugin               -->
   <plugin> 
    <!--         group ID-->
    <groupId/> 
    <!--         artifact ID-->
    <artifactId/> 
    <!--           (     )-->
    <version/> 
    <!--             -->
    <inherited/> 
    <!--       -->
    <configuration/> 
    <!--         ,            。    (   )         。  , 1,2,3,4,5,6,7,8,9   。1,2,5  A   ,        。2,5,8  B   ,         -->
    <reportSets> 
     <!--         ,          -->
     <reportSet> 
      <!--          ,POM     -->
      <id/> 
      <!--       ,         -->
      <configuration/> 
      <!--         POMs-->
      <inherited/> 
      <!--            -->
      <reports/>
     </reportSet>
    </reportSets>
   </plugin>
  </plugins>
 </reporting> 
 <!--                   。               ,            (    group ID artifact ID  ),  group ID artifact ID           ,   group ID artifact ID        ,          。--> 
 <dependencyManagement>
  <dependencies> 
   <!--  dependencies/dependency  -->
   <dependency>
    ......
   </dependency>
  </dependencies>
 </dependencyManagement>     
    <!--      ,   mvn deploy         。                                。-->  
    <distributionManagement> 
        <!--                   -->
        <repository> 
         <!--              (          )?             ?  repositories/repository  -->
   <uniqueVersion/>
   <id>banseon-maven2</id>  
   <name>banseon maven2</name>  
            <url>file://${basedir}/target/deploy</url>  
            <layout/>
  </repository> 
  <!--          ?         ,     repository       ,  distributionManagement/repository  -->  
  <snapshotRepository>
   <uniqueVersion/>
   <id>banseon-maven2</id> 
            <name>Banseon-maven2 Snapshot Repository</name> 
            <url>scp://svn.baidu.com/banseon:/usr/local/maven-snapshot</url>  
   <layout/>
  </snapshotRepository> 
  <!--            -->  
        <site> 
         <!--          ,       settings.xml      -->  
            <id>banseon-site</id>  
            <!--       -->
            <name>business api website</name>  
            <!--     URL, protocol://hostname/path  -->
            <url>  
                scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web   
            </url>  
        </site> 
  <!--       URL。       ,        。         :              (  license  )。-->
  <downloadUrl/> 
  <!--        group ID artifact ID(         ),            。-->
  <relocation> 
   <!--    group ID-->
   <groupId/> 
   <!--    artifact ID-->
   <artifactId/> 
   <!--       -->
   <version/> 
   <!--      ,         ,    。-->
   <message/>
  </relocation>
  <!--             。             ,           。     :none(  ),converted(      Maven 1 POM    ),partner(     Maven 2      ),deployed( Maven 2    ),verified(           )。-->
  <status/>        
    </distributionManagement> 
    <!--      ,Properties     POM   ,         ( settings.xml     activation     )。   <name>value</name>。-->
    <properties/>
</project> 

좋은 웹페이지 즐겨찾기