【maven教程笔记——入门篇】

目录

#【1】Maven简介

#【2】maven下载与安装

#【3】Maven基础概念

#【4】第一个maven项目(手工)

项目构建 

#【5】idea中创建maven项目

#【6】使用原型骨架模板创建

#【7】依赖管理

#【8】生命周期和插件

高级篇

#【1】 分模块开发和设计

#【2】模块聚合 

#【3】 继承

#【4】 属性

#【5】 版本管理

#【6】 资源配置

#【7】 多环境开发测试


#【1】Maven简介

        项目使用开源jar包,又需要使用同事的模块

开源升级,假设需要版本不同(mybatis升级,junit需要升级  ,而没有升级)

同事中模块版本升级,你继续开发

1、jar包不兼容

2、开发在win上,linux上安装,

maven事用java语言开发的管理的工具,将项目和管理过程抽象成一个对象:pom(面向对象的思想)

pom.xml核心文件,

pom.xml——项目对象模型(pom)——依赖管理()——本地——私服——中央仓库

<构建生命周期>——<插件>

对象的属性:?

对象的行为:?

 下图蓝色范围里的是需要我们管的


作用:

项目构建

依赖管理

统一开发结构:提供标准的结构



#【2】maven下载与安装

⚫ http://maven.apache.org/

⚫ http://maven.apache.org/download.cgi

解压选择自己的目录就行

bin:核心运行文件  ——bin/mvn.cmd文件  配置需要了JAVA_HOME   MAVEN_HOME

boot文件

conf配置管理

lib:运行需要的jar包

配置MAVEN_HOME环境变量和path

mvn -v 测试



#【3】Maven基础概念

c盘个人账户 .m2文件夹是因为执行了mvn命令生成的,是本地仓库,存放jar包

setting文件修改仓库位置

 maven本身有一个配置文件配置了下载时的中央仓库

配置镜像

全局setting和用户setting

上面属于全局



#【4】第一个maven项目(手工)

工程结构

构建命令

插件创建过程


 手动在文件创建中创建此目录

两个java下添加com文件夹it文件夹huawei文件夹

去lib里面的jar包找到一个pom文件、放到同级src


项目构建 

mvn 开头  后面添加功能参数  一次课多次执行命令,使用空格分离

win+r cmd

到项目文件夹下

编译:mvn compile  【target编译的结果】

清理:mvn clean  【去掉完成的target目录】

测试:mvn test【对test文件夹的进行测试】

打包:mvn package  【打包后的jar放在target目录下】【编译、测试编译、测试】

安装:mvn install  【把打包的的放到本地仓库】直接安装—groupid决定了放的位置

                                如果时com.ithuawei。就会生成本地仓库的com文件夹下

idea没有打包,idea在本地编译,mvn可以在linux环境执行编译

mvn  安装别人给的jar包

spring的jdbc :ojdbc6.jar
  1.首先将本地jar包放在D:\IDEA下
  2.配置pom.xml(不能够自动下载jar包)
       <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>6</version>
       </dependency>
  3.命令行执行如下:

mvn install:install-file -Dfile=D:\IDEA\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=6 -Dpackaging=jar
  运行成功如下:

插件创建工程

Java工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=java-project - DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot - DinteractiveMode=false

web工程

mvn archetype:generate -DgroupId=com.itheima -DartifactId=web-project - DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -DinteractiveMode=false【webapp运行程序的】

maven工程

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false



#【5】idea中创建maven项目

idea 配置settting配置maven的地址仓库

创建项目

执行命令

 

test  运行0个

 没有加@test注解

执行源码

测试源码



设置环境

 



#【6】使用原型骨架模板创建

新建maven 使用qu'ickstart模板

新建web工程  webapp模板

 自己添加java  resources  test  java  resources文件夹

——————

启动  添加tomcat插件

删除原有pom的插件

<build>构建
<plugins>设置插件
<plugin>插件位置
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>配置
<port>80</port>配置端口
<path>/</path>配置路径
</configuration>
</plugin>
</plugins>
</build>

 刷新之后

执行run

可访问控制台出现的url路径 



#【7】依赖管理

依赖配置:导入依赖

依赖传递:使用自己写的依赖:【项目2用项目3、项目3有其他依赖。项目2就有其他依赖】

可选依赖:对外隐藏依赖

排除依赖:不想用引入依赖的引用依赖

依赖范围:


依赖传递:

冲突:

层级最近优先

曾经一样:后配覆盖前面的

可选依赖

 排除依赖

 依赖范围

假设给mybatis配置范围test  main里面就不能导入相关包。 

能被打包的就能被传递

#【8】生命周期和插件

compile、 test-compile、 test、 package、 install

————————————

—————————————

——————————

——————————————

执行下面的会把上面的都执行

 


自定义插件   指定在上面的某个阶段执行这个插件的动作 

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>

回到最初的起点


高级篇

#【1】 分模块开发和设计

实际项目分模块各有不同   基本都是按服务类型区分

链接:https://pan.baidu.com/s/1NOqxpE4hp9OP8FWkyNGp-A 
提取码:0b45

pojo  不需要任何依赖   安装依赖到本地仓库

dao  不需要mvc依赖   导入pojo依赖

service:使用原始pom文件啊去掉不要的文件     添加pojo  dao的依赖


 

 



#【2】模块聚合 

dao更新了其他不知道

创建一个ssm的maven项目什么也不要只要pom文件。

聚合的目的  是所有被聚合的模块同事同时执行一个操作   例如install

注意事项:根据依赖关系来执行 

——————————————————————————————————————————

#【3】 继承

两个模块用的不要版本的依赖(假设spring)

使用父模块来管理

子模块:

父模块: 

子模块的使用:

 

 


#【4】 属性

属性:相当于变量  统一管理


读取配置setting文件

Java系统属性 

环境变量属性 

 


#【5】 版本管理

父模块直接改

 子模块使用自己的版本更改  或者没有定义自己的版本  继承了父版本的  复制版本出来改


 

#【6】 资源配置

在配置文件中使用pom文件中配置的属性

需要写在bulid里面

 上面xml需要配置<jdbc.url> </jdbc.url>

<derectory>../src/main/resources</derectory>

<derectory>${project.basedir}/src/main/resources</derectory>

#【7】 多环境开发测试

学到24集

#【8】 

#【9】 

#【10】 

#【11】 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值