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:生成站点

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JBPM工作流的性能问题「建议收藏」

    JBPM工作流的性能问题「建议收藏」前言:我计划把我的blog从51cto移到javaeye,陆陆续续地把我对工作流的理解贴上来,和大家交流。我在项目中应用过jbpm工作流,总体而言,jbpm是诸多开源workflow中比较好的一个。他的面向图的设计比起那些一味宣称遵守所谓的WfMC规范的工作流好多了。在应用的过程中,我发现jbpm还是有不少问题,其中性能问题比较突出。主要表现为:1、任务分配的表设计不合理,如果…

  • java线程池拒绝策略_Java线程池拒绝策略

    java线程池拒绝策略_Java线程池拒绝策略Java提供的策略实现CallerRunsPolicypublicstaticclassCallerRunsPolicyimplementsRejectedExecutionHandler{publicCallerRunsPolicy(){}publicvoidrejectedExecution(Runnabler,ThreadPoolExecutore){if(!…

  • LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd)

    LNMP下FTP服务器的安装和使用(Pureftpd和Proftpd)

    2021年10月13日
  • C语言 文件读写的实现

    C语言 文件读写的实现关于C语言的文件读写,我将介绍下面这几种方式:字符的读写:使用fgetc()函数和fputc()函数;字符串的读写:使用fgets()函数和fputs()函数;格式化的读写(主要用于文本文件):使用fscanf()函数和fprintf()函数。字符读写:1.fputc()函数fputc(c,fp);//用于将一个字符写入文件其中,…

  • Mybatis实现Oracle 分页「建议收藏」

    Mybatis实现Oracle 分页「建议收藏」Mybatis+Oracle分页1,使用mybatis的插件PageHelper(1)Mapper.xml<?xmlversion=”1.0″encoding=”UTF-8″?><!DOCTYPEmapperPUBLIC”-//mybatis.org//DTDMapper3.0//EN””http://mybatis.org/dtd/mybati…

  • centos5-6修复心血漏洞

    centos5-6修复心血漏洞下面的内容是针对想升级OpenSSL1.0.1g的CentOS5x64:rpm-ivh–nosignaturehttp://rpm.axivo.com/redhat/axivo-release-5-1.noarch.rpmCentOS6x64:rpm-ivh–nosignaturehttp://rpm.axivo.com/redhat/axivo-rel…

发表回复

您的电子邮箱地址不会被公开。

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