Maven项目的构建过程


1. 手动构建Maven项目

  1. 构建Maven标准的项目结构,如图

image

  1. 在main\java目录下创建示例java文件(按包路径存放)。

    package idv.jarjack;
    
    public class Demo{
    	public String say(String name){
    		System.out.println("Hello " +name);
    		return "Hello " +name;
    	}
    }
    
  2. 在test\java目录下创建java示例的测试用文件(按包路径存放),需要引入测试依赖包【junit】。

    package idv.jarjack;
    
    import org.junit.Test;
    import org.junit.Assert;
    
    public class DemoTest{
    	@Test
    	public void testSay(){
    		Demo demo = new Demo();
    		String str = demo.say("maven");
    		Assert.assertEquals("Hello maven", str);
    	}
    }
    
  3. 在本项目的根目录下创建Maven项目的配置文档【pom.xml】。

    <?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/maven-v4_0_0.xsd">
       <modelVersion>4.0.0</modelVersion>
    
       <!-- 设置Maven项目的属性 -->
       <groupId>idv.jarjack</groupId>
       <artifactId>project-java</artifactId>
       <version>1.0</version>
       <packaging>jar</packaging>
    
       <!-- 声明项目引入的依赖包的坐标 -->
       <dependencies>
          <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>4.12</version>
          </dependency>
       </dependencies>
    </project>
    
  4. 使用Maven的构建命令手动构建项目

    在项目根目录下的cmd窗口使用以下指令。

image

  • 使用mvn compile指令

    • 第一次使用该指令时,会从远程仓库下载编译功能相关的插件到本地,再进行编译,故时间较长,显示build success则编译成功。
    • 可发现Maven中的【repository】目录存放了刚从阿里云仓库下载的插件文件。
    • 此时可见项目根目录出现了【target】目录,用于存放编译后的二进制文件。
  • 使用mvn clean指令,清除已构建的项目,此时发现target目录被清除了。

  • 使用mvn test指令

    • cmd窗口会显示测试结果。
    • 此时【target】目录下新增更多内容,其中的【surefire-reports】目录存放了测试报告。
  • 使用mvn package指令

    • 会发现【target】目录下出现了项目的jar包,该指令只会将编译后的二进制文件打包。
    • 打包指令默认自动将编译和测试操作实现一遍,再进行打包。
  • 使用mvn install指令,会发现该项目的jar包被发布到本地仓库目录中,该指令默认会将编译、测试、打包操作都实现一遍。

2. 调用用功能插件构建Maven项目

在任意目录下的cmd窗口运行以下指令,Maven会调用插件自动在当前目录构建项目目录。

mvn archetype:generate
	-DgroupId=工作组ID
	-DartifactId=项目ID
	-Dversion=项目版本号-snapshot
	-DarchetypeArtifactId=使用的项目模板
	-DinteractiveMode=false

如使用web项目模板,可在任意目录下自动构建一个web项目的目录结构

mvn archetype:generate -DgroupId=idv.jarjack -DartifactId=project-web -Dversion=1.0-snapshot -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

生成的web目录与普通java项目对比:

image

3. 在IDEA中构建Maven项目

  1. 打开IDEA设置界面的Maven项,将默认的Maven程序设为自己本地的Maven。

image

  1. 新建一个Maven项目,IDEA会自动在指定路径创建Maven标准项目结构目录,右边栏出现Maven控制面板,可执行生命周期中的构建命令。

image


一些技巧

1. 在Maven安装Tomcat插件

  • Maven中可安装Tomcat插件,只需在项目模型配置【pom.xml】中的<build> / <plugins> / <plugin>标签路径下添加插件坐标即可,Maven会自动下载资源到本地,插件坐标可在Maven远程仓库查找。如:
<build>
   <plugins>
    	<plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
        </plugin>
    </plugins>
</build>
  • 添加到【pom.xml】后,刷新Maven控制台,可见Maven正在下载插件并安装

image

  • 使用【tomcat7:run】等指令可使用该插件,若启动时显示encoding报警,则在【pom.xml】中添加

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

2. 在IDEA中自定义运行指令

image
image
image
image


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM