maven

https://www.imooc.com/video/8598

 

maven项目目录结构

src

     -main

                -java

     -test

                -java

    resources

 

maven install  发布本项目到本地仓库。

pom.xml里面依赖的组件,先在本地仓库查找,本地找不到,去网上下载。

maven从网上下载的配置,在settings.xml里面。

默认是从国外的全球统一仓库下载,改成阿里云的仓库

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

 

maven依赖范围

compile:默认的范围,编译、测试运行都有效

provided:编译测试有效

runtime:测试运行时有效

test:在测试时有效

system:与本机系统相关联,移植性差(和provided范围一致)

import:导入依赖,只在dependencyManagement中使用,表示从其他的pom中导入dependencye配置

 

依赖冲突原则:

①:短路优先:<br> 会优先解析路径短的版本,比如:<br> A -> B -> C -> X(jar)<br> A -> D -> X(jar) 优先解析短的<br>

②:先声明先优先<br> 如果路径长度相同,则谁先声明,先解析谁——根据在依赖文件POM.XML中声明的先后顺序来选择依赖

 

聚合,在一个模块中将需要统一maven管理的的模块通过

<modules>

<module>../项目A</module>

<module>../项目B</module>

<module>../项目C</module>

</modules>

弄在一块,可以统一进行打包安装于本地仓库。

 

继承

1.应用场景:组件聚合时,多个组件使用相同的依赖导致聚合后出现重复,使用一个父组件定义该依赖,然后有需要的组件继承该组件,聚合时就不会重复

2.父组件定义依赖 在父组件-->dependencyManager-->dependencies下定义dependency 注意,dependencyManager下定义的dependency,该组件不依赖

3.继承父组件 parent标签下引用父组件的坐标 创建dependency引用,只有groupId和artifactId子元素

 

jetty作为容器发布:

1.添加jetty插件, 中央仓库中 Jetty Maven Plugin

2.run as --> Maven Build --> goal --> maven build

打包阶段直接运行

1. <executions> <execution> <!-- 打包成功后通过 jetty:run 来运行jetty服务 --> <phase>package</phase> <goal>run</goal>

posted @ 2018-04-24 20:21  傲衣华少  阅读(151)  评论(0编辑  收藏  举报