maven 实战 - 2

第三章:
pom.xml 配置

命名空间以及xsd的元素
<?xml version="1.0" encoding="UTF-8"?>  
<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/xsd/maven-4.0.0.xsd">  


指出当前pom模型的版本,对maven 2、3来说,它只能是4.0.0
 <modelVersion>4.0.0</modelVersion> 


定义了项目属于哪个组,一般是包名,import 包名(就是这个)
<groupId>com.cxz</groupId> 


定义了当前Maven项在组中的唯一的ID,其实就是文件压缩包的包名(不含有版本),例:
maven-archetype-quickstart-1.1.jar 中的 maven-archetype-quickstart
<artifactId>IntoRedis</artifactId>


版本
<version>1.0-SNAPSHOT</version>  


配置compiler支持的jdk 版本
    <build>  
        <plugins>  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-compiler-plugin</artifactId>  
                <version>2.3.2</version>  
                <configuration>  
                    <source>1.7</source>  
                    <target>1.7</target>  
                </configuration>  
            </plugin>  
        </plugins>  
    </build>


mvn clean package通常打包jar是不可以直接运行的,可以借助maven-shade-plugin,配置该插件如下
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>1.2.1</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
         <goal>shade</goal>
      </goals>
     <configuration>
       <transformers>
         <transformer
            implementation="
             org.apache.maven.plugins.shade.resource.MainfestResourceTransformer">
             <mainClass>com.juvenxu.mvnbook.helloworld.HelloWorld</mainClass>
         </transformer>
       </transformers>
     </configuration>
   </execution>
  </executions>
</plugin>


作用:通过该段代码导入相应的包
 <dependencies>   
        <dependency>  
            <groupId>org.apache.hadoop</groupId>  
            <artifactId>hadoop-common</artifactId>  
            <version>2.0.0-cdh4.2.1</version>  
            <type>jar</type>  
            <exclusions>  
                <exclusion>  
                    <artifactId>kfs</artifactId>  
                    <groupId>net.sf.kosmosfs</groupId>  
                </exclusion>  
            </exclusions>  
            <scope>provided</scope>  
        </dependency>  
    </dependencies>  


依赖的范围,就是什么时候导入这个包
<scope>provided</scope> 


maven常用的命令

   maven 常见的命令符
   mvn -version
   mvn compile
   mvn test
   mvn clean compile
   mvn clean package
   mvn clean install


猜你喜欢

转载自chimpp55.iteye.com/blog/2376943