maven 再次学习

常用命令

在项目根目录中使用maven命令
mvn clean: 清理 target目录. 项目编译之后的输出目录
mvn compile: 将main目录下代码编译,放置到 target目录下
mvn test: 将 src/test 下的代码. mvn test 也会将 main 下的目录编译一遍.
mvn package: 将 main/java 和 main/test 下的代码编译
并将他们打成war包
mvn install: 将打的包安装到本地仓库.

生命周期

clean ,compile,test,package,install.deploy 这几个步骤就是maven的生命周期
clean : 清理生命周期
compile - delpoy: 默认生命周期
站点生命周期 :
一键构建: 使用maven自身集成的tomcat插件对项目进行构建.
步骤:
编译compile,测试test,打包package,安装install,发布deploy
在最后发布的时候,需要对项目进行配置:
如果在别的环境deploy,在其他环境需要mvn clean才可以

概念模型图

POM

在这里插入图片描述
就是 POM.xml 文件

  1. 依赖
  2. 插件
  3. 以及描述了项目的相关信息
    3.1 项目自身信息,项目所依赖JAR信息,项目运行环境信息
  4. 仓库
    4.1 本地仓库下载,b2b:私服下载jar,以及最后到 central下载jar

构建生命周期

在这里插入图片描述

idea集成maven插件

  1. 本地安装maven
    mvn -v
  2. idea配置maven安装目录以及仓库文件配置
  3. Runner在这里插入图片描述
    我们只要是以maven为骨架创建的项目,只要已下载过的插件就可以不用去联网下载.使用本地的即可
    -DarchetypeCatalog=internal

Web项目

使用Maven配置Web项目
指定可以创建JSP的目录–资源包
在Moudle 中指定 资源目录即可
在这里插入图片描述

demo

创建一个跳转到首页的JSP

  1. 创建Servlet
  2. 在 web.xml 配置 servler 和 servlet-mapping
  3. 在 pom.xml 导入依赖
  4. 直接输入命令
    在这里插入图片描述
    在这里插入图片描述
    可以直接输入命令,例如: tomcat:run,来运行项目

解决冲突

tomcat:run之后,项目访问报错
在这里插入图片描述
这里是因为 maven 自身继承了 tomcat插件,tomcat中含有 jsp-api和servlet-api俩个jar
而我们也引入了这俩个jar
我们引入的
在这里插入图片描述
tomcat 中存在的
在这里插入图片描述
所以有了冲突: jar冲突.
我们编写的时候需要这俩个jar. 但是在运行的时候tomcat中已经有了,不再需要了.

作用域

用于排除jar冲突. 例如: 上面的那种情况

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.2</version>
    <scope>tets/compile/provided</scope>
</dependency>

在这里插入图片描述

修改运行环境

maven自身tomcat是tomcat6
我们想要使用tomcat7怎么办.
可以使用 plugin解决
添加一个tomcat插件即可
在这里插入图片描述
运行命令:

tomcat7:run

动态模板

Live Template:
为自定义模板创建组:TemplateGroup
为这个组创建模板内容以及在什么文件中使用

jdk插件

maven的jdk插件就是maven的compile插件.
编译环境的插件.
指定jdk版本:
target: Java文件使用什么版本编译
source: 编译之后的class文件使用什么运行

mysql

maven 从 mysql 中取出数据

整合SSM

maven和SSM一起使用
配置 web.xml 和 spring.xml
spring.xml 配置 扫描组件,扫描包,开启事物,开启注解支持,连接池,数据源,
web.xml 配置 中文乱码filter,filter-initParam

解决冲突和依赖传递

直接依赖 和 传递依赖
一共有三种方式解决
第一声明优先
路径近者优先
直接排除法
我们经常使用的就是 排除法
使用exclusions标签进行排除
在这里插入图片描述
将这个排除

父子项目

作用域

在这里插入图片描述
结论:
如果传递依赖到某个子模块的包不能用.表现为无法导入jar
我们只需要在子模块中再次导入jar即可

启动项目

  1. 使用本地安装 tomcat
    配置 Tomcat Server,使用war启动
  2. 使用tomcat插件,启动父项目
    使用 mvn 命令框,输入: tomcat7:run 即可
  3. 启动 web项目
    在这里插入图片描述
    在启动时,maven地址使用的是jar方式.
    web会找到对应的 service,但是找的是jar.所以需要对service以及service依赖的dao进行打包
    在这里插入图片描述
    所以
  4. 选中父工程以及dao,service,web三个项目进行打包

私服

搭建maven私服,本地仓库
nexus. 有Linux 和 Window版本
以window版本演示
演示过程
略 … …

上传文件

上传jar到私服

  1. 访问界面
    localhost:8081/nexus
  2. type
    类型为 hosted的都是本地上传的路径
    在这里插入图片描述
    可以通过这些路径上传jar到私服
    类型为 proxy 都是中央仓库
    也可以通过网络将中央仓库jar下载到本地,私服
  3. group
    本地想要下载jar配置的路径.

上传项目

将项目上传到
在这里插入图片描述
这三者其中一个.
具体上传到哪一个. 可以看 项目 version的后缀
在这里插入图片描述
后缀是啥就上传到哪里.

maven配置
  1. 配置server
    server 指定了username 和 pass
  2. 配置pom.xml
    在这里插入图片描述
    pom.xml 这里的配置和 setting.xml 配置相同
    在 pom.xml 中指定上传的路径

下载私服的jar

我们将dao上传到 私服. 在下载到的jar到 本地. 在项目中使用

  1. 在setting.xml 中配置从私服中下载jar的配置
    激活
    我们在setting.xml中配置了 私服,在 配置 activeProfile 中激活
    在这里插入图片描述

安装第三方JAR到本地仓库

我们使用命令进行安装

安装jar到本地仓库

mvn install:install-file -DgroupId=path -DartifactId=xxx -Dversion=0.0.1 -Dfile=path -Dpackageing=jar

安装jar到私服

  1. 在settings.xml中配置,第三方私服的登录信息
    在这里插入图片描述
  2. 执行命令
  3. mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackageing=jar -Dfile=path -Durl=要上传的私服地址 -DrepositoryId=thirdparty
    在这里插入图片描述

总结

maven进阶大部分都讲解完毕了. 当然真正精通还有不少没讲.
但是这些知识可以看到,在公司中你去做一些发布jar到maven的动作是可以做到的.
算得上是初中级的知识了吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值