maven学习笔记

1.tomcat,maven(纯Java开发)都是有java开发的,所以maven项目里可以不需要tomcat,因为maven自带tomcat插件;
2.项目构建需要做的工作:开发-编译-测试-运行-打包-部署
maven可以做的事:编译-测试-运行-打包(war/jar)-部署(把打成的war包放到tomcat的webapps下即可) (除开发外,都可以由maven完成)

除此之外,依赖管理(jar包管理,)

3.maven常用命令
tomcat:run /tomcat7:run
clean 清除target目录(清除编译)
compile 编译项目,产生target目录(只编译src/java/main目录下文件;不编译src/java/test下文件)
test 编译加运行测试(test测试下的文件)
package 打包到项目target目录下(war包或jar包/项目中pom文件中有设置打包方式)
jar包名称 artifactId-version.jar
install 打包到本地仓库中(包括package命令) --安装到仓库/groupId/artifactId/version 目录
maven build 使用之前操作过的命令
maven build… 手动输入maven命令内容

deploy 打包到公司私服nenex

6.一个项目的生命周期
清理 编译 测试 报告 打包 部署
plugin goal(插件目标) maven管理项目生命周期都是基于插件完成的

7.项目构建

安装配置maven插件(m2e插件) :mars2不需要安装,eclipse已集成
添加依赖: 无maven索引时先添加本地仓库索引
创建maven索引:进入maven–maven Repositories–local Repositories–右键Rebuild index (创建索引后就可以不用手动添加依赖,可以直接从本地仓库中查找,搜索依赖名称即可)
maven坐标
插件(plug-in):是一种计算机应用程序,它和主应用程序(host application)互相交互,以提供特定的功能

创建maven工程 (跳过骨架,要是不跳过骨架项目目录不全)

quickstart是java工程(jar包) webapp是web工程(war包)
设置编译版本(jdk版本) 在pom文件中添加maven自带编译插件(eclipse自带编译器jdt,不许用jdk只需用jre即可)
settings.xml中的配置是针对所有的项目的,而pom.xml中的配置是针对当前项目的,pom.xml中的配置会覆盖settings.xml中的配置。

org.apache.maven.plugins --公司或组织名称/域名 maven-compiler-plugin --项目名称/模块名称 3.5.1 1.7 1.7
  1. maven常用pom.xml文件 (project object model)
    坐标:
    --公司或组织名称/域名
    --项目名称/模块名称
    --版本号 当前项目版本号,snapshot为快照版本即非正式版本 ,release为正式发布版本;
    --打包方式 (war,jar pom(pom指父项目,打成包后里边没有war或jar包,只有包的描述信息))
    --无实际含义

    文件根节点
    pom.xml使用的对象模型版本
    产品的版本号
    打包方式
    项目的显示名,常用于maven生成的文档
    项目描述 常用于maven生成的文档
    项目依赖构建配置,配置项目构建的坐标
    项目构建配置,配置编译运行插件

5.依赖管理
add Dependency时,添加依赖坐标时需指定依赖范围 scope(依赖适用范围)
scope包括5种:
compile(默认依赖范围) 编译,测试,运行打包都需要
provided(两jar包有冲突时,用此范围) 编译,测试需要;运行打包不需要
test 只测试时需要,不打包
runtime 测试,运行需要打包
system(不推荐)
6.可通过plugin修改tomcat访问路径和端口



org.codehaus.mojo --公司或组织名称/域名
tomcat-maven-plugin --项目名称/模块名称
1.1

项目工程路径
tomcat端口号



7.debug调试时:
debug as-- maven build
调试跳转出现问题:run configuration–source–添加工程

8.maven仓库
本地仓库 (自己维护)
远程仓库《私服》 (公司维护)
中央仓库 (maven团队维护)

9.依赖传递(添加一个jar会发现程序中出现了很多jar) 会有依赖冲突
解决依赖版本冲突的原则:
路径近者优先原则(根据远近亲疏) ,可以自己添加不用依赖传递的jar
第一声明优先原则 用在前边的jar
排除原则写要排出的jar包《groupId》
版本锁定原则 <坐标包括version>
可以把锁定的版本写到一起,下边在版本锁定处引用<自定义版本属性>4.2.4.version<>

10.ssh整合开发 搜索 ssh pom
传统项目 分层开发 web Service dao bean
大型项目 分业务开发 用户管理 支付管理 对账
11.分模块开发(传统)
父工程(指挥) 不干事,都交给子工程去完成
子工程创建:在富工程上新建maven module
先做一个父工程,把所需jar都放到父工程中,打包到本地仓库;在父工程中右键创建maven module(添加自己模块所需jar)
继承和聚合 (最终web打war包,运行的是web里的代码,也可运行parent中的代码)
依赖范围对依赖传递造成影响 service模块引用dao模块的包时,会受到传递范围的影响
scope:test没有传递依赖 解决:把需要的依赖添加进来就行(分模块)
把本地子项目关掉,就回去本地仓库找jar包,否则导入的就是项目文件
12. 私服(nexus)
私服搭建(安装) B/S访问方式 浏览器访问,地址http://ip地址:端口号/nexus

cmd-进入bin目录 nexus.bat install
安装成功标志:服务中有
nexus.bat start 启动

用户名密码默认 admin/admin123

仓库类型有4种: 都有连接地址
virtual
proxy 代理了apache-snapshot/中央仓库《仓库》
hosted 第三方,releases,snapshot《仓库》
group 包括第三方,releases,snapshot,central《仓库》

  1. 上传jar到私服 deploy
    配置上传的私服地址:
    在pom.xml中配置:


    release版本
    release版本jar的仓库地址
    </>

    snapshot版本
    snapshot版本仓库地址
    </>

上传权限:在setting文件中添加


私服上对应仓库id
登录nexus用户名
密码






从私服下载jar包:

setting.xml文件:
找到profiles标签,添加下载仓库信息

dev


release版本
release版本jar的仓库地址 group仓库地址就行
true //是否下载releases构件

dev
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值