美文网首页
maven学习 Day2 2018-11-20

maven学习 Day2 2018-11-20

作者: Ernest_Chou | 来源:发表于2018-11-20 18:15 被阅读0次

一、maven基础

4. maven的常用命令:

dos窗口进入项目pox.xml所在目录,执行命令:mvn tomcat:run

4.1. maven 常用命令
  • 1.clean:清除项目根目录下target文件夹内所有内容
  • 2.compile:编译,将项目中的java文件编译为class文件
  • 3.test:单元测试,将项目根目录下src/java目录下的单元测试类都会执行
    单元测试类名要求:***Test.java
  • 4.package:打包
    web project ==>war包
    java project ==>jar包
    将项目打包,打包项目根目录下target 目录
  • 5.install:安装
    本地多个项目公用一个jar包,打包到本地仓库
4.2. maven项目的生命周期
  • 1.CleanLifeCycle:清理生命周期:clean
  • 2.defaultLifeCycle:默认生命周期:compile、test、package、install、deploy
  • 3.siteLifeCycle:站点生命周期:site

三套生命周期相互独立,互不影响。
在一套生命周期内,执行后面的命令,前面操作会自动执行。


maven的生命周期,项目构建过程
4.3 概念模型
maven概念模型

5. maven整合web项目

5.1. 配置maven插件
  • a.新版的eclipse自带maven插件
  • b.配置maven程序


    eclipse配置maven插件
  • c.配置userSetting:


    配置userSetting
  • d.构建索引
    注意配置本地仓库地址


    构建maven索引
5.2. maven整合Servlet
1.选择创建maven项目 2.选择项目原型 3.maven项目信息

创建好的web项目,错误:

  • a.web.xml缺失


    补加缺失web.xml
  • b.jdk编译版本为1.5,在pom.xml中添加插件

 <!-- 添加项目jdk编译插件 -->
  <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>
    </plugins>
  </build>
  • c.创建一个Servlet,servlet编译报错,原因:缺失servlet-api-**.jar包


    缺失jar包
  • d.查找依赖


    查找jar包
5.3. 依赖的范围

添加依赖范围:默认是compile
provided:运行部署到tomcat不再需要。

  • 问题:如果将servlet-api.jar设置为compile,打包之后包含servlet-api.jar,war包部署到tomcat后跟tomcat中存在的servlet-api.jar包冲突。导致运行失败。

    与tomcat中jar包冲突
  • 解决:修改依赖范围

修改依赖范围
依赖范围 对于编译classpath有效 对于测试classpath有效 对于运行时classpath有效 例子
compile Y Y Y spring-corer
test - Y - Junit
provided Y Y - servlet-api
runtime - Y Y JDBC驱动
system Y Y - 本地的,Maven仓库之外的类库
  • 总结:如果使用到tomcat自带jar包,将项目中依赖作用范围设置为:provided
provided范围的jar包
5.4 运行、调试项目
maven手动命令 添加调试
5.5maven整合struts2
    1. 通过工具生成web.xml及添加编译jdk版本
通过工具生成web.xml 自己添加插件 搜索插件
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <!-- 手动设置详细信息 -->
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
  </build>
    1. 添加struts2的依赖
      添加核心包,自动添加其他依赖包
    1. 创建struts.xml
    1. 创建action类继承ActionSupport类
    1. 在web.xml中配置Struts2框架核心过滤器
  <!-- 配置Struts2框架核心过滤器 -->

  <filter>
    <filter-name>struts</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern> <!-- .action或者空白结尾的会经过过滤器 -->
  </filter-mapping>
    1. 编写action中的方法
    //url http://localhost:8080/maven-struts2/customerAction_test.action
      public String test() throws Exception {
          System.out.println("成功进入CustomerAction中的test方法");
          return SUCCESS;
      }
    
  • 7.在struts.xml中配置action

    <package name="demo" namespace="/" extends="struts-default">
          <action name="customerAction_*" class="com.zhougl.web.action.CustomerAction" method="{1}">
              <result name="success">/index.jsp</result>
          </action>
      </package>
    

二、Maven实战

1.传递依赖冲突解决

1.1Maven自己调解原则
1.1.1 第一声明优先原则

谁先定义就用谁优先传递依赖

第一声明优先原则.图一
第一声明优先原则.图二
1.1.2 路径近者优先原则

直接依赖级别高于传递依赖。

路径近者优先.图一 路径近者优先.图二
1.2 排除依赖
排除依赖操作
排除依赖
1.3 版本锁定(推荐使用)
版本锁定
1.4 在配置文件中定义属性,使用ognl表达式引用属性值
定义属性 引用属性值

2. ssh配置文件加载过程

ssh配置加载流程

相关文章

  • maven学习 Day2 2018-11-20

    一、maven基础 4. maven的常用命令: dos窗口进入项目pox.xml所在目录,执行命令:mvn to...

  • 2019-08-07 Day2——DFL

    Day2 学习笔记

  • 2020-10-25

    day2 . 的学习笔记

  • Maven快速上手

    1、Maven介绍 注:改章节的内容主要粘贴自:Maven学习总结(一)——Maven入门。Maven(这个单词来...

  • maven学习笔记

    maven学习笔记 2016年1月6日 一、maven安装 windows下maven安装安装maven前,首先要...

  • Maven学习(四) Maven 聚合 继承 单继承

    Maven学习(四) Maven 聚合 继承 单继承 聚合 Maven聚合:一个Maven项目,用来管理它的mav...

  • 2019-03-03

    技术:有关maven学习 互联网运营:关于运营和做简历 一、有关Maven的学习: 1、有关maven包的下载:h...

  • maven的应用(摘自菜鸟教程)

    一直使用maven,缺少系统化学习,找了本教程,系统的了解和学习下 1 maven的基本概念 maven安装 po...

  • Maven 安装及配置

    环境:Windows参考:maven学习系列——(二)maven的安装和一些基本的配置Eclipse安装maven...

  • 进入女性财富榜样Day4

    今日计划 1、读书赋能分享day2; 2、小喜手帐day2; 3、老王商学院学习Day4; 4、生命银行学习; 5...

网友评论

      本文标题:maven学习 Day2 2018-11-20

      本文链接:https://www.haomeiwen.com/subject/ecrtqqtx.html