Maven企业级应用(二)

1、使用maven快速创建一个工程

首先需要在settings.xml中加一段配置,用阿里云的镜像仓库去下载各种东西

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

找个目录执行如下命令,基于maven创建一个工程

mvn archetype:generate -DgroupId=com.huiyun.maven -DartifactId=maven-first-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

执行完命令后会在当前目录下创建一个新目录,目录的名字就是DartifactId指定的名字。进入该目录就可以看到maven为我们初始化了工程对应的目录结构。

2、maven工程目录结构

src/main/java目录包含的是这个项目的源码,
src/test/java目录包含的是测试代码,pom.xml文件时核心配置文件。

3、pom.xml的初步介绍

<project>:pom.xml中的顶层元素
<modelVersion>:POM本身的版本号,一般很少变化
<groupId>:创建这个项目的公司或者组织,一般用公司网站后缀,比如com.company,或者cn.company
<artifactId>:这个项目的唯一标识,一般生成的jar包名称,会是<artifactId>-<version>.<extension>这个格式,比如说myapp-1.0.jar
<packaging>:要用的打包类型,比如jar,war,等等。
<version>:这个项目的版本号
<name>:这个项目用于展示的名称,一般在生成文档的时候使用
<url>:这是这个项目的文档能下载的站点url,一般用于生成文档
<description>:用于项目的描述

4、对项目进行打包

源代码和测试代码已有,我们需要自动化运行测试用例+编译+打包,另外由于用到了junit依赖,所以maven因该可以自动下载和管理依赖。
进入maven-first-app,执行mvn package。
可以发现
(1)maven自动给我们下载了jar包,不需要手动去管理依赖。
(2)自动运行了单元测试的用例。自动把源代码编译成了.class文件,自动把代码打成了jar包。

5、执行打好的jar包

java -cp maven-first-app-1.0-SNAPSHOT.jar com.huiyun.maven.App

6、最后来一张图进行总结

在这里插入图片描述

(1)maven首先会去参考settings.xml配置文件的配置
(2)接着就是解析maven工程的pom.xml
(3)看pom.xml里面声明了哪些依赖
(4)去本地仓库里找有没有那些依赖,比如有没有junit
(5)如果本地仓库找不到,那么就会去远程仓库找。所谓的远程仓库是包含了几乎所有的依赖包,~/.m2/repository是本地仓库
(6)远程仓库找到后就会下载下来并放在本地仓库缓存起来,以供以后使用。
(7)执行构建(清理、编译、打包)
7、IDEA创建maven项目
(1)Create new project -->Maven -->Create from archetype–>maven archetype quickstart
(2)设置一下项目的坐标
groupId:com.huiyun.maven
artifactId:maven-helloworld
version:1.0-SNAPSHOT
在pom.xml中将junit的依赖从3.8.1版本修改成4.12版本
在IDEA中开发maven项目的话,每次你保存pom.xml,IDEA就会让maven自动去解析pom.xml,然后下载你最新声明的依赖,立即从远程仓库下载到本地仓库

但是如果纯手工通过archetype去创建maven工程的话,是需要在mvn test package打包的时候,才会去检查pom.xml,才会去下载依赖。
(3)编写相应的代码
src/main/java

package com.huiyun.maven;

/**
 * Hello world!
 *
 */
public class HelloWorld {
    public String sayHello(String name) {
        return "hello,"+ name;
    }
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

编写测试代码

package com.huiyun.maven;

import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class HelloWorldTest {

    @Test
    public void testSayHello() {
        HelloWorld helloWorld = new HelloWorld();
        String result = helloWorld.sayHello("leo");

        assertEquals("hello,leo", result);
    }
}

(5)用IDEA执行maven命令
先进行如下配置
在这里插入图片描述
接着执行如下命令即可
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值