栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven常用命令以及依赖管理和插件介绍

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven常用命令以及依赖管理和插件介绍

Maven的常用命令 知识点-Maven的常用命令管理项目的生命周期 1.目标
  • 掌握Maven的常用命令
2.路径
  1. clean命令
  2. compile命令
  3. test命令
  4. package命令
  5. install命令
3.讲解 3.1clean命令

清除编译产生的target文件夹内容,可以配合相应命令一起使用,如mvn clean package, mvn clean test

3.2 compile命令

该命令可以对src/main/java目录的下的代码进行编译

3.3 test命令

测试命令,先将src/main/java以及src/test/java中的类都进行编译,然后再执行src/test/java/下所有junit的测试用例

  • 在src/test/java下创建测试类DemoTest

  • 执行test命令测试

  • 控制台显示测试结果

3.4 package命令

mvn package,打包项目

先编译,再执行测试,然后再打包(只会将main/java里面的代码打到包)

  • 如果是JavaSe的项目,打包成jar包
  • 如果是JavaWeb的项目,打包成war包

打包后的项目会在target目录下找到

3.5 install命令

mvn install,打包后将其安装在本地仓库

安装完毕后,在本地仓库中可以找到itheima_javase_demo的信息

4.小结
  1. 命令作用

    • clean 用来清除编译后的文件(target文件夹里面的)【一般清缓存】
    • compile 编译只会编译main里面的内容
    • test 执行单元测试,先将main、test中的内容进行编译,然后执行test中的测试方法
    • package 打包 (javaSe–>jar, javaweb–>war),其实执行打包之前先执行test,然后对项目进行打包
    • install 把项目打包之后安装到本地仓库,其实执行install之前先执行了打包,然后对项目进行安装到本地仓库
  2. 生命周期

    当我们执行了install 也会执行compile test package

依赖管理和插件 知识点-依赖管理(引入依赖) 1.目标
  • 能够掌握依赖引入的配置方式
2.路径
  1. 导入依赖
  2. 导入依赖练习
  3. 依赖范围
3.讲解 3.1导入依赖

​ 导入依赖坐标,无需手动导入jar包就可以引入jar。在pom.xml中使用标签引入依赖。

​ 做项目/工作里面 都有整套的依赖的, 不需要背诵的.

​ 去Maven官网找, 赋值,粘贴. http://mvnrepository.com/

3.1.1 导入junit的依赖
  • 导入junit坐标依赖

    junit
    junit
    4.12
    test

  • 进行单元测试
import org.junit.Test;

public class DemoTest {
    @Test
    public void test1(){
        System.out.println("test running...");
    }
}
3.1.2 导入servlet的依赖
  • 创建Servlet,但是发现报错,原因是没有导入Servlet的坐标依赖

  • 导入Servlet的坐标依赖

    javax.servlet
    javax.servlet-api
    3.1.0
    provided

  • 原有报错的Servlet恢复正常

3.2 依赖范围

  • compile 编译、测试、运行,A在编译时依赖B,并且在测试和运行时也依赖

    例如:strus-core、spring-beans, C3P0,Druid。打到war包或jar包

  • provided 编译、和测试有效,A在编译和测试时需要B

    例如:servlet-api就是编译和测试有用,在运行时不用(tomcat容器已提供)

    不会打到war

  • runtime:测试运行有效,

    例如:jdbc驱动包 ,在开发代码中针对java的jdbc接口开发,编译不用

    在运行和测试时需要通过jdbc驱动包(mysql驱动)连接数据库,需要的

    会打到war

  • test:只是测试有效,只在单元测试类中用

    例如:junit

    不会打到war

  • 按照依赖强度,由强到弱来排序:(理解)

    compile> provided> runtime> test

4.小结
  1. 坐标不需要背, 做项目时候/工作开发 都有整套的坐标. 如果是导入一些特定, 可以查阅网站,直接拷贝

  2. 作用范围

    • compile 编译、测试、打包运行部署 有效 【默认】
    • provided 编译, 测试 有效. 打包运行部署 无效
    • runtime 测试、打包运行部署 有效 编译无效
    • test 只是测试有效,只在单元测试类中用
  3. Servlet,JSP 这类jar 需要加上provided , 因为部署到Tomcat里面. tomcat里面有, 如果没有加上provided , 可能会导致jar 冲突

    单元测试的 建议加上test

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号