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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 压缩成bz2,linux 将文件压缩成bz2格式 命令:bzip2

    linux 压缩成bz2,linux 将文件压缩成bz2格式 命令:bzip2bzip2命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linuxbzip2命令的多种范例供大家查看,相信大家看完后会有很多收获。语法bzip2(选项)(参数)选项-c或——stdout:将压缩与解压缩的结果送到标准输出;-d或——decompress:执行解压缩;-f或-force:bzip2在…

    2022年5月4日
    100
  • XGBoost的基本原理

    XGBoost的基本原理XGBoost原理与实践

    2022年5月30日
    36
  • 视频直播基础技术总结1

    视频直播基础技术总结1-视频直播基础技术总结11.视频直播**视频直播的5个关键的流程:录制->编码->网络传输->解码->播放视频直播平台一般包括推流端,后台系统和客户端。通常包括直播内容采集、直播后台系统和直播内容播放三个模块。1)内容采集:采集的方式有很多,从一般几十块PC摄像头到几十万的专业录制编码设备,还有移动端的手机前后置摄像头;分布式推

    2022年7月24日
    5
  • php常用数据结构

    php常用数据结构

    2021年10月10日
    54
  • dos窗口编译java程序命令_dos编译java

    dos窗口编译java程序命令_dos编译java随着RESTful风格的接口普及,程序员默认都会使用json作为数据传递的方式。json格式的数据冗余少,兼容性高,从提出到现在已被广泛的使用,可以说成为了Web的一种标准。无论我们服务端使用什么语言,我们拿到json格式的数据之后都需要做jsonDecode(),将json串转换为json对象,而对象默认会存储于HashTable,而HashTable很容易被碰撞攻击。我只要将攻击数据放在j…

    2022年9月26日
    0
  • phpsotrm 2021.4 激活破解方法

    phpsotrm 2021.4 激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    131

发表回复

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

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