`
jaesonchen
  • 浏览: 309774 次
  • 来自: ...
社区版块
存档分类
最新评论

Maven学习总结(二)——Maven项目构建过程

 
阅读更多

一、创建Maven项目

1.1、建立Hello项目

  1、首先建立Hello项目,同时建立Maven约定的目录结构和pom.xml文件

    Hello
      | --src
      | -----main
      | ----------java
      | ----------resources
      | -----test
      | ---------java
      | ---------resources
      | --pom.xml

  

 

  2、编辑项目Hello根目录下的pom.xml,添加如下的代码:

复制代码
 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3   <modelVersion>4.0.0</modelVersion>
 4   <groupId>com.jaeson.maven</groupId>
 5   <artifactId>Hello</artifactId>
 6   <version>0.0.1-SNAPSHOT</version>
 7   <name>Hello</name>
 8   
 9     <!--添加依赖的jar包-->
10     <dependencies>
11         <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
12         <dependency>
13             <groupId>junit</groupId>
14             <artifactId>junit</artifactId>
15             <version>4.9</version>
16             <scope>test</scope>
17         </dependency>        
18         
19     </dependencies>
20 </project>
复制代码

  3、在src/main/java/com/jaeson/maven目录下新建文件Hello.java

  

 

  Hello.java的代码如下:

复制代码
1 package com.jaeson.maven;
2 
3 public class Hello {
4     
5     public String sayHello(String name){
6         return "Hello " + name;
7     }
8 }
复制代码

  4、在/src/test/java/me/gacl/maven目录下新建测试文件HelloTest.java  

  

 

  HelloTest.java的代码如下:

复制代码
 1 package com.jaeson.maven;
 2 //导入junit的包
 3 import org.junit.Test;
 4 import static junit.framework.Assert.*;
 5 
 6 public class HelloTest {
 7 
 8     @Test
 9     public void testHello(){
10         Hello hello = new Hello();
11         String results = hello.sayHello("jaeson");
12         assertEquals("Hello jaeson",results);        
13     }
14 }
复制代码

1.2、使用Maven编译、清理、测试、打包项目

1、使用Maven编译项目,编译项目的命令是:"mvn compile"

  

 
 

  编译成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是编译成功之后Maven帮我们生成的文件夹,如下图所示:

  

  打开【target】文件夹,可以看到里面有一个【classes】文件夹,如下图所示:

  

 

  【classes】文件夹中存放的就是Maven我们编译好的java类,如下图所示:

  

   这就是使用Maven自动编译项目的过程。

2、使用Maven清理项目,清理项目的命令是:"mvn clean"

  进入Hello项目根目录执行"mvn clean"命令清理项目,清理项目的过程就是把执行"mvn compile"命令编译项目时生成的target文件夹删掉,如下图所示:

  

 

3、使用Maven测试项目,测试项目的命令是:"mvn test"

  进入Hello项目根目录执行"mvn test"命令测试项目,如下图所示:

  


 
 
 测试成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是测试成功之后Maven帮我们生成的文件夹,如下图所示:

  

 

  打开【target】文件夹,可以看到里面有一个【classes】和【test-classes】文件夹,如下图所示:

  

 

  也就是说,我们执行执行"mvn test"命令测试项目时,Maven先帮我们编译项目,然后再执行测试代码。

4、使用Maven打包项目,打包项目的命令是:"mvn package"

  进入Hello项目根目录执行"mvn package"命令测试项目,如下图所示:

  

 

 

  打包成功之后,可以看到hello项目的根目录下的【target】文件夹中多了一个Hello-0.0.1-SNAPSHOT.jar,这个Hello-0.0.1-SNAPSHOT.jar就是打包成功之后Maven帮我们生成的jar文件,如下图所示:

  

 

5、使用Maven部署项目,部署项目的命令是:"mvn install"

  进入Hello项目根目录执行"mvn install"命令测试项目,如下图所示:

  

 

 

  

  安装成功之后,首先会在hello项目的根目录下生成【target】文件夹,打开【target】文件夹,可以看到里面会有Hello-0.0.1-SNAPSHOT.jar,这个Hello-0.0.1-SNAPSHOT.jar就是安装成功之后Maven帮我们生成的jar文件.

  

  除此之外,在我们存放Maven下载下来的jar包的仓库也会有一个Hello-0.0.1-SNAPSHOT.jar,所以Maven安装项目的过程,实际上就是把项目进行【清理】→【编译】→【测试】→【打包】,再把打包好的jar放到我们指定的存放jar包的Maven仓库中,如下图所示:

  

 

  所以使用"mvn install"命令,就把maven构建项目的【清理】→【编译】→【测试】→【打包】的这几个过程都做了,同时将打包好的jar包发布到本地的Maven仓库中,所以maven最常用的命令还是"mvn install",这个命令能够做的事情最多。

1.2、组合使用Maven的命令

  maven的编译,清理,测试,打包,部署命令是可以几个命令同时组合起来使用的,常用的命令组合如下:

  1、先清理再编译:"mvn clean compile",如下所示:

  

 

  还有的就是"mvn clean test","mvn clean package","mvn clean install",这些组合命令都比较常用。

  以上就是关于Maven构建项目的各个个过程演示。

二、在别的项目中使用通过Maven安装生成的项目的jar包

  在上面,我们使用mvn install命令将hello这个项目打包成了Hello-0.0.1-SNAPSHOT.jar包并且发布到本地的maven仓库E:\repository\me\gacl\maven\Hello\0.0.1-SNAPSHOT中,下面我们来看看如何在别的项目中使用Hello-0.0.1-SNAPSHOT.jar

  1、新建HelloFriend项目,同时建立Maven约定的目录结构和pom.xml文件
    HelloFriend
        | --src
      | -----main
      | ----------java
      | ----------resources
      | -----test
      | ---------java
      | ---------resources
      | --pom.xml

  如下图所示:

  

 

  2、编辑项目HelloFriend根目录下的pom.xml,添加如下的代码:

复制代码
 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3   <modelVersion>4.0.0</modelVersion>
 4   <groupId>com.jaeson.maven</groupId>
 5   <artifactId>HelloFriend</artifactId>
 6   <version>0.0.1-SNAPSHOT</version>
 7   <name>HelloFriend</name>
 8   
 9     <!--添加依赖的jar包-->
10     <dependencies>
11         <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
12         <dependency>
13             <groupId>junit</groupId>
14             <artifactId>junit</artifactId>
15             <version>4.9</version>
16             <scope>test</scope>
17         </dependency>
18         <!--项目要使用到Hello的jar包,所以在这里添加Hello的jar包的依赖-->
19         <dependency>
20             <groupId>com.jaeson.maven</groupId>
21             <artifactId>Hello</artifactId>
22             <version>0.0.1-SNAPSHOT</version>
23             <scope>compile</scope>
24         </dependency>    
25     </dependencies>
26 </project>
复制代码

  3、在src/main/java/me/gacl/maven目录下新建文件HelloFriend.java。

  

  HelloFriend.java的代码如下:

复制代码
 1 package com.jaeson.maven; 4 
 5 public class HelloFriend {
 6 
 7     public String sayHelloToFriend(String name){
 8         
 9         Hello hello = new Hello();
10         String str = hello.sayHello(name) + " I am " + this.getMyName();
11         System.out.println(str);
12         return str;
13     }
14     
15     public String getMyName(){
16         return "chen";
17     }
18 }
复制代码

  4、在/src/test/java/me/gacl/maven目录下新建测试文件HelloFriendTest.java,如下图所示:

  

  HelloFriendTest.java的代码如下:

复制代码
 1 package com.jaeson.maven;
 2 
 3 import static junit.framework.Assert.assertEquals;
 4 import org.junit.Test; 6 
 7 public class HelloFriendTest {
 8 
 9     @Test
10     public void tesHelloFriend(){
11         
12         HelloFriend helloFriend = new HelloFriend();
13         String results = helloFriend.sayHelloToFriend("jaeson");
14         assertEquals("Hello jaeson, I am chen", results);
15     }
16 }
复制代码

  5、在HelloFriend目录下执行命令"mvn package"测试Hello-0.0.1-SNAPSHOT.jar里面的类是否引用成功,如下所示:

  

  • 大小: 11.9 KB
  • 大小: 6.5 KB
  • 大小: 6.5 KB
  • 大小: 60.7 KB
  • 大小: 15.8 KB
  • 大小: 19.1 KB
  • 大小: 6.2 KB
  • 大小: 8.3 KB
  • 大小: 6.8 KB
  • 大小: 15.8 KB
  • 大小: 22.6 KB
  • 大小: 7.9 KB
  • 大小: 15.6 KB
  • 大小: 15.1 KB
  • 大小: 20.1 KB
  • 大小: 17.2 KB
  • 大小: 13.9 KB
  • 大小: 40.3 KB
  • 大小: 16.6 KB
  • 大小: 10.3 KB
分享到:
评论

相关推荐

    maven多模块web项目

    Maven是Apache软件基金会开发的一款项目管理和综合工具,它能够帮助开发者管理项目的构建、报告和文档等生命周期过程。 【描述】提到,这个项目已经集成了Spring MVC、Spring框架以及Maven。Spring MVC是Spring框架...

    Maven实战——入门篇

    Maven是一种强大的、跨平台的项目管理工具,主要用于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目还是大型的企业级应用,Maven都能很好地支持,无论是传统的瀑布式开发模式还是流行的...

    项目管理与SSM框架——Maven学习与案例练习

    实践操作是学习Maven的关键,可以创建一个新的Maven项目,配置POM文件,添加必要的依赖,编写源代码和测试代码,然后通过执行上述命令,体验Maven的整个构建过程。 通过深入理解和实践,开发者可以充分利用Maven的...

    Maven 教程:基础篇-尚硅谷学习笔记 2022年

    Maven项目对象模型(POM) POM是Maven的核心,它是一个XML文件,包含了关于项目的配置信息,如项目名称、版本、描述、开发者信息、依赖、构建目标等。通过POM,Maven可以自动下载所需的库文件,编译源代码,运行...

    项目构建maven

    【标题】"项目构建maven" 是一个关于Java Web项目构建的重要工具,它在软件开发过程中扮演着核心角色。Maven是由Apache软件基金会开发的项目管理和综合工具,它通过使用一种标准化的项目对象模型(Project Object ...

    Maven权威指南,学习参考手册

    ### Maven权威指南:深入解析与实战应用 #### 引言:Maven——自动化构建与项目管理的...通过本书的学习,开发者能够掌握Maven的核心理念和最佳实践,从而提升项目构建的效率和质量,使项目管理更加规范化和自动化。

    Maven学习资源打包汇总

    其次,深入学习POM.xml文件,它是Maven项目的中心,包含了项目信息、依赖、构建配置等关键元素。然后,掌握Maven的生命周期和插件,了解不同阶段的目的以及如何自定义插件目标。最后,熟悉依赖管理和仓库使用,学会...

    Maven3实战笔记08Maven反应堆

    ### Maven3实战笔记08——Maven反应堆:深度解析与实战应用 #### Maven反应堆的概念与作用 在深入探讨Maven反应堆之前,我们首先需要理解Maven项目是如何组织和构建的。Maven是一种自动化构建工具,它通过定义项目...

    maven学习文档

    Maven是一款流行的自动化构建工具,广泛应用于Java项目的构建过程中。它通过一种项目对象模型(Project Object Model,简称POM)来管理项目的构建过程及其依赖关系,极大地简化了项目的构建流程。 **1.1 Maven安装...

    apache-maven-3.3.9版本.zip

    Maven 的目标是简化项目构建过程,通过标准化构建生命周期和插件机制,使得开发者可以更专注于编写代码,而不是配置构建脚本。 在“apache-maven-3.3.9版本.zip”这个压缩包中,我们可以找到Apache Maven的3.3.9...

    nexus构建maven仓库总结(完善版3),添加了对第三方插件的处理和应用

    【标题】:“Nexus构建Maven仓库总结(完善版3)——第三方插件处理与应用” 在软件开发中,管理依赖关系是至关重要的,而Maven作为Java领域广泛使用的构建工具,通过其中央仓库帮助开发者方便地获取所需依赖。然而...

    maven中文完整版权威指南pdf

    POM是Maven项目的基础,包含了项目的配置信息,如项目依赖、构建目标、插件等。通过POM.xml文件,Maven能够理解项目的结构和需求,进而自动化处理构建过程。 **依赖管理**是Maven的一大亮点。在Maven的仓库系统中,...

    Maven 安装与配置(csdn)————程序.pdf

    此外,Maven的POM(Project Object Model)文件是每个Maven项目的核心,它定义了项目的基本信息、依赖、构建目标等。通过POM文件,Maven可以自动下载所需的库文件,编译源代码,运行测试,打包应用,甚至部署到...

    maven - maven tutorial

    Clean Lifecycle 主要用于清理项目构建过程中产生的输出。它包括以下阶段: - **pre-clean**: 清理前的操作。 - **clean**: 清除项目目录下的所有编译输出。 - **post-clean**: 清理后的操作。 **4.3 Default (或 ...

    持续集成环境搭建——maven、git、jenkins、tomcat

    Apache Maven是一个项目管理和综合工具,它可以帮助开发者管理项目构建、报告、依赖关系等。以下是maven的安装步骤: 1. 访问Apache官网(http://maven.apache.org/download.cgi)下载最新版的maven安装包。 2. 解...

    maven3.6.3.rar

    在Maven 3.6.3中,已经包含了大量的预置插件,覆盖了项目构建过程中的各种需求。 在使用Maven时,我们通常会配置settings.xml文件,这个文件位于用户的Maven配置目录下。settings.xml用于存储全局的Maven配置,如...

    maven项目+mybatis

    在"maven项目+mybatis"的场景下,开发者会将MyBatis的依赖添加到Maven的POM文件中,通过Maven的构建过程来处理MyBatis的相关配置和SQL映射文件,实现项目的构建和运行。这样的组合使得Java项目在保持简洁性的同时,...

    Java项目构建新型利器——Gradle

    随着现代软件开发的复杂性不断增加,构建自动化成为了一种必要,Java项目构建的新型利器——Gradle应运而生。Gradle是基于Java的下一代构建工具,它的出现改变了构建工具的格局,提供了更强的表现力和更好的可维护性...

    Maven兼容jdk1.7版本

    在软件开发过程中,构建工具如Maven与开发环境的兼容性至关重要,因为它直接影响到项目的构建、编译和测试流程。 **Maven** 是一个流行的Java项目管理和综合工具,它帮助开发者管理项目依赖、构建流程、生成文档等...

Global site tag (gtag.js) - Google Analytics