赞
踩
settings.xml文件配置
<localRepository>C:\webServer\repository</localRepository>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<profile>
<id>development</id>
<activation>
<jdk>1.8</jdk>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
IDEA设置(本地只下载一次)
-DarchetypeCatalog=internal
用于设置任何配置信息都从本地缓存中拿。有一些模板信息maven默认
从远程仓库下载获取,如果设置了这个参数第一次从远程拿,以后从本
地拿(这就要求大家第一次玩maven必须联网,1~5M不等)
maven对javaweb项目目录结构的要求规范
项目名称
src
main-------------------主程序目录,会被放到打包war文件中【必须有】
java---------------主程序java源文件目录
resources----------放业务配置文件,最后部署到服务器依然会放到classes类路径下面
webapp-------------存储web资源文件,类似以前web工程中web目录
test-------------------测试程序目录,不会放到war文件中【可有可无】
java---------------测试程序java源文件目录
resources----------放测试配置文件
target---------------------输出目录,部署的资源,由maven自动管理自动生成
pom.xml
相关插件依赖
jdk插件 <plugins> <!-- jdk版本插件(了解),因为一般都采用全局配置,如果当前项目不使用全局就可以使用这个插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <showWarnings>true</showWarnings> </configuration> </plugin> tomcat7插件,非常建议使用这个,因为速度快 <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/</path> <uriEncoding>UTF-8</uriEncoding> <server>tomcat7</server> </configuration> </plugin> </plugins>
依赖范围介绍
compile 编译时 测试时 运行时
provided 编译时 测试时
runtime 测试时 运行时
test 测试时
maven的全局编码
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--设置jdk编译的版本-->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
Maven拓展知识
1.Maven仓库是统一放置依赖构建的地方(依赖jar包,插件)。
2.坐标:
描述坐标的作用:
通过坐标可以唯一定位依赖。
坐标组成:
groupId:组织名
artifactId:模块名
version:版本号
3.依赖范围:
依赖范围指的是当前依赖,参与项目构建生命周期的哪些过程。 compile:全局(默认)
test:测试时
provided:运行时,打包时不生效
runtime:运行时生效
4.依赖传递:
true就是不给,默认false
<!--配置排除依赖-->
<exclusions>
可以配置多个
<exclusion>
<!--排除spring-context-->
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
</exclusions>
5.依赖冲突:
当我传递一个依赖4.0,但是我在pox文件中又配置了5.0,pom文件依赖就会
采用就近原则,原则5.0
配置,使用父类依赖
从父类中拿,版本号已在父类中配置,避免了版本冲突问题,依赖冲突
6.继承和聚合
依赖的继承:
继承就是为了消除重复:很多个meven项目,让他们都继承这个就不用一个一个配置了,
并且继承有的统一版本的作用。
7.聚合:
就是中间商,分工明确:
父pom就是负责提供公共依赖,插件
聚合负责把子工程聚合到一个地方,在打包是先访问聚合工程,根据聚合提供的子类工程信息,对子类
进行打包
好处就是分工明确,打包清晰
负责聚合子类,负责打包(提供所有子类的信息(路径,依赖信息等))
7.1传递依赖与继承:
传递依赖有可选依赖(optional),排除依赖(exclusion)
继承:在父中选择,版本的管理
:虚拟依赖管理
子:声明选择性继承
7.2:聚合:
聚合子项目,快速打包
8.nexusmeven私服搭建: 仓库类型
#描述仓库类型: proxy:代理仓库,负责 ‘从远程仓库下载依赖’ hosted:宿主仓库,提供给我们 ‘手动上传’ group:仓库组。聚合多个仓库 #描述具体仓库: 3rd party:手动上传第三方依赖用 central:从中央仓库下用的 releases:内部项目的稳定版本 shnapshot:内部项目的快照版本(开发版本) 端口号:0~65535,我们都可以用 1.加载进入配置文件该端口 2.启动,浏览器访问8089/nexus,进入导航页面 3.登入,默认admin,admin123 私服上传: 3rd party Artifact Upload GAV上传方式 最后填写具体地址,完成上传 下载:配置镜像,添加私服依赖坐标 mvn项目自动上传: 1. 配置依赖: <distributionManagement> <repository> 快照版 <id>releases</id> <name>Internal Releases</name> <url>http://localhost:8085/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> 稳定版 <id>snapshots</id> <name>Internal Snapshots</name> <url>http://localhost:8085/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> 2.配置修改本地 <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>deployment</username> <password>deployment123</password> </server> </servers> 3.最后mvn点击deploy
9.常用插件:
1.jdk编译1.8插件: <!--插件配置--> <build> <plugins> <!-- java 编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> 2.tomcat7插件 <plugins> <!--配置tomcat7插件--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <!-- tomcat 的端口号 --> <port>8080</port> <!-- 访问应用的路径 --> <path>/ssm</path> <!-- URL按UTF-8进行编码,解决中文参数乱码 --> <uriEncoding>UTF-8</uriEncoding> <!-- tomcat名称 --> <server>tomcat7</server> </configuration> </plugin> </plugins>
10.关于meven聚合工程
欢迎点赞关注收藏哦 ,码云搜索KakiNakajima
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。