Java学习之Maven使用

Java学习之Maven0x00前言学习并mark过来一些知识点做留存。0x01Maven使用compiled(默认)对主程序是否有效:有效对测试程序是否有效:有效是否参与打包:参

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Java学习之Maven

0x00 前言

学习并mark过来一些知识点做留存。

0x01 Maven使用

  1. compiled (默认)

    对主程序是否有效:有效

    对测试程序是否有效:有效

    是否参与打包:参与

  1. test

    对主程序是否有效:无效

    对测试程序是否有效:有效

    是否参与打包:不参与

  1. provided

    对主程序是否有效:有效

    对测试程序是否有效:有效

    是否参与打包:不参与

测试总结:

  1. 默认引入 的 jar 包 ——- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )

  2. servlet-api 、 jsp-api ——- provided (编译、测试 有效, 运行时无效 防止和 tomcat 下 jar 冲突)

  3. jdbc 驱动 jar 包 —- runtime (测试、运行 有效 )

  4. junit —– test (测试有效)

依赖范围由强到弱的顺序是: compile>provided>runtime>test

需要设置编译版本为 1.8,这里需要使用 maven 的插件来设置:
在 pom.xml 中加入:

<build>
    <plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target>
    <encoding>UTF-8</encoding>
        </configuration></plugin> 

聚合

主要是聚合,在web中很多站点可以看到反编译后,都是只看到文件夹里只有少量代码,而部分核心代码在一些jar包里面。其实就是用到了maven给模块化开发了。例如下图

Java学习之Maven使用

maven中嵌套了很多子maven工程。

继承

  <parent>
        <artifactId></artifactId>
        <groupId></groupId>
        <version></version>
        <!--以当前项目为基准的父工程pom.xml文件的相对路径-->
        <relativePath></relativePath>
    </parent>

常用命令

执行与构建过程(编译,测试,打包)相关的命令必须进入pom.xml所在位置执行

mvn clean:清理(打包好的程序放在生成的名为target的文件中,清理即删除文件中打包好的程序)

mvn compile:编译主程序

mvn test-compile:编译测试程序

mvn test:执行测试

mvn package:打包

mvn install:安装至本地仓库

mvn site:生成站点

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119873.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 搭建 Drupal 个人网站的图文教程

    搭建 Drupal 个人网站的图文教程操作场景Drupal是使用PHP语言编写的开源内容管理框架(CMF),由内容管理系统(CMS)及PHP开发框架(Framework)共同构成。Drupal具备强大的定制化开发能力,您可使用Drupal作为个人或团体网站开发平台。本文档介绍如何在腾讯云云服务器(CVM)上手动搭建Drupal个人网站。进行手动搭建Drupal个人网站需要熟悉Linux命令,例如Cen…

    2022年6月11日
    31
  • linux zip文件解压命令详解[通俗易懂]

    linux zip文件解压命令详解[通俗易懂]1、把/home目录下面的mydata目录压缩为mydata.zipzip-rmydata.zipmydata#压缩mydata目录2、把/home目录下面的mydata.zip解压到mydatabak目录里面unzipmydata.zip-dmydatabak3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zipzip-rabc12

    2022年6月7日
    42
  • 一种基于Linux文件系统的数据恢复方法_武汉病例轨迹

    一种基于Linux文件系统的数据恢复方法_武汉病例轨迹问题阶段起因:昨天晚上思路不是很清晰(上了一天班回来有点蒙),还是强忍着疲惫想搞事情,结果悲剧了……本来想拿SD卡做一张linux烧录卡,烧录脚本是很久以前写的,有git记录,一直不成功,就回退了几次提交,然后执行的时候没有给脚本传参(/dev/sd**),结果脚本中默认磁盘设备为/dev/sdb,在现在电脑上是一块数据磁盘,执行到一半的时候由于某些原因意外退出,但还是有一些命令执行,比

    2025年5月30日
    0
  • 计算机视觉中的曲率尺度空间技术[通俗易懂]

    计算机视觉中的曲率尺度空间技术[通俗易懂]看到一篇文章《计算机视觉中的曲率尺度空间技术:基本概念与理论进展》——钟宝江,对于尺度空间的理解很有帮助,遂贴部分内容在此,如果涉及侵权,请告知,我会马上删除。1引言尺度是计算机视觉与图象处理领域的一个重要概念。国际上有关尺度空间技术的研究大致分为如下两个分支:线性尺度空间技术

    2022年10月14日
    0
  • 简易计算器页面

    简易计算器页面

    2021年11月30日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号