首页 > 其他分享 >maven入门教程

maven入门教程

时间:2023-04-23 11:06:48浏览次数:34  
标签:INFO --- default 入门教程 maven hello resources


1.1.  Maven简介

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。

1.2.  Maven的下载与安装

1.2.1.  下载maven

下载地址: http://maven.apache.org/download.html 

1.2.2.  安装maven

只要将maven的压缩包解压到指定文件夹即可

1.2.3.  配置环境变量

变量名为:M2_HOME

变量值为: D:\javaEEServer\apache-maven-3.0.3

maven入门教程_java

在path路径中添加% M2_HOME %\bin

maven入门教程_java_02

1.2.4.  测试是否安装成功

在命令行输入mvn –v  就会出现maven的版本信息.jdk的版本及其他信息.

maven入门教程_java_03

1.3.  Hello Maven

1.3.1.  搭建项目结构

项目的结构如下图所示:

maven入门教程_jar_04

1.3.2.  Pom.xml

<?xml version="1.0"encoding="utf-8"?>
 
<projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
         <modelVersion>4.0.0</modelVersion>
         <groupId>com.morris.maven.hello</groupId>
         <artifactId>hello</artifactId>
         <version>1.0-SNAPSHOT</version>
         <packaging>jar</packaging>
         
         <dependencies>
                   <dependency>
                            <groupId>junit</groupId>
                            <artifactId>junit</artifactId>
                            <version>4.10</version>
                            <scope>test</scope>
                   </dependency>
         </dependencies>
 
</project>

1.3.3.  Hello.java

public class Hello{
         publicString sayHello(String name){
                   return"hello:"+name;
         }
}

1.3.4.  HelloTest.java

import org.junit.*;
import static junit.framework.Assert.*;
 
public class HelloTest
{
         @Test
         publicvoid testSayHello(){
                   Hellohm = new Hello();
                   assertEquals(hm.sayHello("morris"),"hello:morris");
         }
}

1.3.5.  编译Mvn compile

在命令行使用mvn compile编译项目,会打印如下信息,如果是第一次运行的话,会从网上下载jar包

maven入门教程_maven_05

1.3.6.  测试mvn test

在命令行使用mvn test对项目进行单元测试,会打印如下信息:

[INFO] Scanning for projects...

[INFO]                                                                        

[INFO]------------------------------------------------------------------------

[INFO] Building hello 1.0-SNAPSHOT

[INFO]------------------------------------------------------------------------

[INFO]

[INFO] ---maven-resources-plugin:2.6:resources (default-resources) @ hello ---

[WARNING] Using platform encoding (GBKactually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectoryE:\java\maven\maven-hello\src\main\resources

[INFO]

[INFO] ---maven-compiler-plugin:3.1:compile (default-compile) @ hello ---

[INFO] Nothing to compile - all classes areup to date

[INFO]

[INFO] ---maven-resources-plugin:2.6:testResources (default-testResources) @ hello ---

[WARNING] Using platform encoding (GBKactually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectoryE:\java\maven\maven-hello\src\test\resources

[INFO]

[INFO] --- maven-compiler-plugin:3.1:testCompile(default-testCompile) @ hello ---

[INFO] Nothing to compile - all classes areup to date

[INFO]

[INFO] ---maven-surefire-plugin:2.12.4:test (default-test) @ hello ---

[INFO] Surefire report directory:E:\java\maven\maven-hello\target\surefire-reports

 

-------------------------------------------------------

 T ES T S

-------------------------------------------------------

Running HelloTest

Tests run: 1, Failures: 0, Errors: 0,Skipped: 0, Time elapsed: 0.052 sec

 

Results :

 

Tests run: 1, Failures: 0, Errors: 0,Skipped: 0

 

[INFO]------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO]------------------------------------------------------------------------

[INFO] Total time: 1.941 s

[INFO] Finished at:2015-03-01T17:39:10+08:00

[INFO] Final Memory: 7M/21M

[INFO]------------------------------------------------------------------------

1.3.7.  观察项目目录

我们会发现项目的目录中会增加一些文件夹和文件

maven入门教程_jar_06

1.3.8.  打包mvn package

命令行运行mvn package会将项目自动打成一个jar包,我们会发现在target目录下会多出一个jar包hello-1.0-SNAPSHOT.jar

 

命令行会打印如下信息:

[INFO] Scanning for projects...

[INFO]                                                                        

[INFO]------------------------------------------------------------------------

[INFO] Building hello 1.0-SNAPSHOT

[INFO]------------------------------------------------------------------------

[INFO]

[INFO] --- maven-resources-plugin:2.6:resources(default-resources) @ hello ---

[WARNING] Using platform encoding (GBKactually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectoryE:\java\maven\maven-hello\src\main\resources

[INFO]

[INFO] ---maven-compiler-plugin:3.1:compile (default-compile) @ hello ---

[INFO] Nothing to compile - all classes areup to date

[INFO]

[INFO] ---maven-resources-plugin:2.6:testResources (default-testResources) @ hello ---

[WARNING] Using platform encoding (GBKactually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectoryE:\java\maven\maven-hello\src\test\resources

[INFO]

[INFO] ---maven-compiler-plugin:3.1:testCompile (default-testCompile) @ hello ---

[INFO] Nothing to compile - all classes areup to date

[INFO]

[INFO] ---maven-surefire-plugin:2.12.4:test (default-test) @ hello ---

[INFO] Surefire report directory:E:\java\maven\maven-hello\target\surefire-reports

 

-------------------------------------------------------

 T ES T S

-------------------------------------------------------

Running HelloTest

Tests run: 1, Failures: 0, Errors: 0,Skipped: 0, Time elapsed: 0.052 sec

 

Results :

 

Tests run: 1, Failures: 0, Errors: 0,Skipped: 0

 

[INFO]------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO]------------------------------------------------------------------------

[INFO] Total time: 1.941 s

[INFO] Finished at: 2015-03-01T17:39:10+08:00

[INFO] Final Memory: 7M/21M

[INFO]------------------------------------------------------------------------

1.3.9.  发布mvn install

命令行使用mvn install 命令会将我们的项目发布在本地仓库中,本地仓库的地址默认是在电脑的我的文档中:C:\Users\Morris\.m2\repository

我们可以发现C:\Users\Morris\.m2\repository\com\morris\maven\hello\hello\1.0-SNAPSHOT这个路径下会有项目的文件

后台打印信息如下:

[INFO] Scanning for projects...

[INFO]                                                                        

[INFO]------------------------------------------------------------------------

[INFO] Building hello 1.0-SNAPSHOT

[INFO]------------------------------------------------------------------------

[INFO]

[INFO] ---maven-resources-plugin:2.6:resources (default-resources) @ hello ---

[WARNING] Using platform encoding (GBKactually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectoryE:\java\maven\maven-hello\src\main\resources

[INFO]

[INFO] ---maven-compiler-plugin:3.1:compile (default-compile) @ hello ---

[INFO] Nothing to compile - all classes areup to date

[INFO]

[INFO] ---maven-resources-plugin:2.6:testResources (default-testResources) @ hello ---

[WARNING] Using platform encoding (GBKactually) to copy filtered resources, i.e. build is platform dependent!

[INFO] skip non existing resourceDirectoryE:\java\maven\maven-hello\src\test\resources

[INFO]

[INFO] ---maven-compiler-plugin:3.1:testCompile (default-testCompile) @ hello ---

[INFO] Nothing to compile - all classes areup to date

[INFO]

[INFO] ---maven-surefire-plugin:2.12.4:test (default-test) @ hello ---

[INFO] Surefire report directory:E:\java\maven\maven-hello\target\surefire-reports

 

-------------------------------------------------------

 T ES T S

-------------------------------------------------------

Running HelloTest

Tests run: 1, Failures: 0, Errors: 0,Skipped: 0, Time elapsed: 0.088 sec

 

Results :

 

Tests run: 1, Failures: 0, Errors: 0,Skipped: 0

 

[INFO]

[INFO] --- maven-jar-plugin:2.4:jar(default-jar) @ hello ---

[INFO]

[INFO] --- maven-install-plugin:2.4:install(default-install) @ hello ---

[INFO] InstallingE:\java\maven\maven-hello\target\hello-1.0-SNAPSHOT.jar toC:\Users\Morris\.m2\repository\com\morris\maven\hello\hello\1.0-SNAPSHOT\hello-1.0-SNAPSHOT.jar

[INFO] InstallingE:\java\maven\maven-hello\pom.xml toC:\Users\Morris\.m2\repository\com\morris\maven\hello\hello\1.0-SNAPSHOT\hello-1.0-SNAPSHOT.pom

[INFO]------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 2.610 s

[INFO] Finished at:2015-03-01T17:52:46+08:00

[INFO] Final Memory: 7M/19M

[INFO]------------------------------------------------------------------------

标签:INFO,---,default,入门教程,maven,hello,resources
From: https://blog.51cto.com/u_6784072/6216844

相关文章

  • Java使用maven-invoker插件进行maven相关操作
    官方文档地址:https://maven.apache.org/shared/maven-invoker/index.htmlApacheMavenInvoker在许多情况下,工具(包括Maven本身)可能希望在干净的环境中启动Maven构建。为什么呢?也许您希望避免Maven插件产生的副作用污染当前系统环境。也许您想从与当前${user.dir}不同的工作目......
  • java maven pom指定main class类
    pom文件中增加 <build><finalName>entrance</finalName><!--这里是生成的jar包名字--><plugins><plugin><groupId>org.apache.maven.plugins</groupId><arti......
  • 使用Maven-shade-plugin打包SpringBoot项目
    使用Maven-shade-plugin打包SpringBoot项目另附参考文章:https://blog.csdn.net/u011441473/article/details/127844885好奇葩的打包之旅,最后在stackoverflow上找到了解决办法,遇到问题,还是多去google吧,国内真不行,百度质量太低,一件很小的事,花了我1个多小时。。下面说一下我遇到......
  • 【maven】模块化开发
    什么是maven模块化开发? 在多人协同开发,特别是规模较大的项目,为了方便日后的代码维护和管理,我们会将每个开发人员的工作细分到具体的功能和模块上。......
  • 2、Pipeline语法及使用自定义工具的Maven工程
    Pipeline语法声明式pipeline的结构pipeline的定义有一个明确的、必须遵循的结构,它由一些directive(指令)和section(配置段)组成,每一个section又可包含其它的section、directive和step(执行步骤),以及一些condition(执行条件)的定义;◼Section:用于将那些在某个时间点需要一同运行的条目(i......
  • maven项目文件资源导出配置
    配置原因maven项目会自动导出resource目录下的资源配置文件,但有时项目中不仅仅会把所有资源配置文件放在resources中,这时maven不会把其他目录下的资源导出到target目录中去,导致资源配置文件读取失败,项目报错出现异常,此时需要在pom.xml文件中进行配置。 <!--在build中配......
  • SVG 入门教程系列列表
     SVG入门教程系列列表:SVG教程(一)SVG教程(二)矩形SVG教程(三)圆形,椭圆,直线SVG教程(四)多边形,曲线,路径SVG教程(五)文本,Stroke属性,SVG滤镜,SVG模糊效果SVG教程(六)SVG阴影,SVG渐变–线性,SVG渐变-放射性SVG教程(七)SVG实例,SVG参考手册 更多参考:SVG动画入门SVG动画入门(二)SV......
  • 【汇智学堂】微服务-SpringBoot环境搭建之一maven下载安装
    一、下载maven3.6.2http://maven.apache.org/download.cgi下载完成后,解压到某个目录。本人目录如下。(C:\Users\leilei\Desktop\apache-maven-3.6.2-bin\apache-maven-3.6.2)二、配置环境变量系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Users\leilei\Desktop\apache-maven......
  • JMeter入门教程(6) --脚本添加
    文章目录1.添加线程组2.添加HTTPCookie管理器3.添加HTTP请求默认值4.添加HTTP请求5.添加查看结果树1.添加线程组1.创建JMeter测试计划的第一步就是添加线程组测试元件。线程组会告诉JMeter需要模拟的并发用户数,以及并发用户发送请求的频率和数目。要添加线程组,首先选中测试计划,......
  • JMeter入门教程(11) --关联
    文章目录1.任务背景2.任务目标3.任务实操1.任务背景当JMeter执行脚本时,伪装成浏览器,然后根据脚本,把当初真的浏览器所发过的内容,再对网站服务器重新发送一遍,JMeter企图骗过服务器,让服务器以为它就是当初的浏览器,然后把网站内容传送给JMeter。2.任务目标掌握掌握JMeter性能测试脚本......