Maven总结

一、Ant

1. Ant和Maven都是项目构建工具

2. 在项目的运行编辑打包等过程都需要依赖于ant构建工具

 

二、分布式

1. 传统项目部署:

    1.1 新建一个项目,通过不同的包区分不同的模块.

    1.2 把这一个项目发布服务器的tomcat中

2. 分布式项目部署.(适用于高负载情况下)

    2.1 把一个完整的项目拆分成多个项目,把拆分后的项目分别部署到对应的服务器(tomcat)中的过程就叫做分布式项目部署.

    2.1.1 把传统项目包换成一个单独的项目.

 

三、maven简介

1. 基于Ant的构建工具,Ant有的功能Maven都有,额外添加了其他功能.

2. 运行原理图.

    2.1 本地仓库:计算机中一个文件夹,自己定义是哪个文件夹.

    2.2 中央仓库:网上地址https://repo1.maven.org/maven2/

    2.2.1 下载速度慢--> 配置国内镜像

    2.3 保证JDK版本和开发环境一致,如果不配置1.4或1.5

3.坐标

    3.1 每一jar文件都有一个唯一坐标.通过坐标可以精确确定是哪个jar

    3.2 坐标组成

    3.2.1 Group ID : 公司名.公司网址倒写

    3.2.2 Artifact ID : 项目名

    3.2.3 Version : 版本

4. pom

    4.1 英文名称(Project Object Mode)

    4.2 项目对象模型

    4.2.1 把project当作对象看待.

    4.2.2 通过maven构建工具可以让对象(项目)和对象(项目)之间产生关系

5. 网址(查看坐标)

        http://mvnrepository.com/

 

四、新建Maven项目

1. New--> Maven project

2. 勾选复选框,表示创建一个简单Maven项目(不应用任何模板)

 

3. 填写项目信息

    3.1 Packaging: 项目的类型,最终会被打包成什么类型.

    3.1 jar : java项目

    3.2 war: web项目

    3.3 pom:逻辑父项目

    3.3.1 只要一个项目有子项目必须是pom类型.

 

 

五、Maven项目目录结构(jar类型)

1. 截图

2. src/main/java真实目录的快捷目录,写java代码

3. src/main/resources 快捷目录

    3.1 存放配置文件.

    3.2 虽然看见resources但是里面所有配置文件最终会被编辑放入到classes类路径.

4. src/test/java 写测试java代码

5. src/text/resources 测试的配置文件夹

6. pom.xml maven的配置文件

    6.1 当前项目所依赖的其他项目或jar或插件等

 

六、Maven项目之间的关系

1. 依赖关系

    1.1 标签<dependency>把另一个项目的jar引入到当过前项目

    1.2 自动下载另一个项目所依赖的其他项目

2. 继承关系.

    2.1 父项目是pom类型

    2.2 子项目jar或war,如果子项目还是其他项目的父项目,子项目也是pom类型.

    2.3 有继承关系后,子项目中出现<parent>标签

    2.3.1 如果子项目和<groupId>和<version>与父项目相同,在子项目中可以不配置<groupId>和<version>

    2.4 父项目pom.xml中是看不到有哪些子项目.在逻辑上具有父子项目关系.

  <parent>

    <groupId>com.bjsxt</groupId>

    <artifactId>parent</artifactId>

    <version>0.0.1-SNAPSHOT</version>

  </parent>

3. 聚合关系.

    3.1 前提是继承关系.父项目会把子项目包含到父项目中.

    3.2 子项目的类型必须是Maven Module而不是maven project

    3.3 新建聚合项目的子项目时,点击父项目右键新建Maven Module

    3.4 具有聚合关系的父项目,在pom.xml中<modules>

  <modules>

   <module>child2</module>

  </modules>

    3.5 具有聚合关系的子项目,在pom.xml中<parent>

<parent>

    <groupId>com.bjsxt</groupId>

    <artifactId>parent</artifactId>

    <version>0.0.1-SNAPSHOT</version>

  </parent>

 

4. 聚合项目和继承项目区别

    4.1 在语意上聚合项目父项目和子项目关系性较强

    4.2 在语意上单纯继承项目父项目和子项目关系性较弱

5. <dependencyManagement> 写在父项目

    5.1 作用:声明可能使用到的所有jar

    5.2 子项目中只需要有坐标的<groupid>和<artifactid>,<version>继承父项目

    5.3 在父项目中<properties>把所有版本号进行统一管理

    5.4 父项目pom.xml

    5.4.1 <properties>子标签名称自定义

    5.4.2 ${名字} 引用标签的值

<properties>

<spring-version>4.1.6.RELEASE</spring-version>

</properties>

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>${spring-version}</version>

</dependency>

</dependencies>

</dependencyManagement>

    5.5 子项目

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

</dependency>

</dependencies>

 

七、创建war类型项目

1. 创建maven project时选择packaging为war

2. 在webapp文件夹下新建META-INF和WEB-INF/web.xml

3. 在pom.xml中添加java ee相关的三个jar

    3.1 <scope> jar有效范围 provided 表示编译期生效,不会打包发布到tomcat中

<dependencies>

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>javax.servlet-api</artifactId>

<version>3.0.1</version>

<scope>provided</scope>

</dependency>

<dependency>

<groupId>javax.servlet.jsp</groupId>

<artifactId>jsp-api</artifactId>

<version>2.2</version>

<scope>provided</scope>

</dependency>

<dependency>

<groupId>jstl</groupId>

<artifactId>jstl</artifactId>

<version>1.2</version>

</dependency>

</dependencies>

4. 配置tomcat插件

<build>

<plugins>

<plugin>

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<version>2.2</version>

<configuration>

<!-- 控制tomcat端口号 -->

<port>80</port>

<!-- 项目发布到tomcat后的名称 -->

<!-- / 相当于把项目发布名称为ROOT -->

<!-- /abc -->

<path>/</path>

</configuration>

</plugin>

</plugins>

</build>

5. 右键项目--> run as --> maven build-->Goals 中输入

clean tomcat7:run

 

八、资源拷贝插件

1. maven默认只把src/main/resources里面的非.java文件进行编译到classes中

2. 如果希望src/main/java下的文件也被编辑到classes中,在pom.xml中配置

    2.1 下面内容配置在<build>中

<resources>

<resource>

<directory>src/main/java</directory>

<includes>

<include>**/*.xml</include>

</includes>

</resource>

<resource>

<directory>src/main/resources</directory>

<includes>

<include>**/*.xml</include>

<include>**/*.properties</include>

</includes>

</resource>

</resources>

 

九、热部署

1. 修改tomat/conf/tomcat-users.xml添加

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>

2. 在maven项目的pom.xml中tomcat插件的<configuration>里配置

<plugins>

<plugin>

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<version>2.2</version>

<configuration>

<!-- 控制tomcat端口号 -->

<port>80</port>

<!-- 项目发布到tomcat后的名称 -->

<!-- / 相当于把项目发布名称为ROOT -->

<!-- /abc -->

<path>/jqk</path>

<username>tomcat</username>

<password>tomcat</password>

<url>http://192.168.139.128:8080/manager/text</url>

</configuration>

</plugin>

</plugins>

3. 右键项目--> run as --> maven build(以前写过,选择第二个) -->输入

    3.1 tomcat7:deploy   第一次发布

    3.2 tomcat7:redeploy  不是第一次发布.

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Darryl_Tang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值