Maven 大全

Maven 常用命令

用于项目编译

1. clean 清理

将项目根目录下面的target目录清理掉。

2. compile 编译

       将项目中的.java文件编译为.class文件

3. test 执行单元测试

单元测试类名有要求xxx.test结尾

将项目根目录下的src/test/java目录下的单元测试类都会执行。

4.package

       web project  war   打包到项目根目录下的target

       java project jar

5. install 安装

       解决本地多个项目公用一个jar 打包到本地仓库

      

概念模型:

Maven的两大核心:

1. 依赖管理,POM 项目对象模型。

   dependency 依赖管理模型。

  

2. 项目构建

通过命令来构建,

 

maven与传统构建项目的不同

1. 不在拷贝jar

2. 项目结构不同

 

pom.xml 项目对象模型。

1. 本项目的坐标信息。

2. 本项目JDK编译版本的信息。

3. 本项目需要的依赖信息。

 

Maven 项目的生命周期

Maven存在三套生命周期,每一套生命周期都是相互独立的。在一套生命周期内执行后面的命令前面的会自动操作。

1. cleanLifeCycfe:清理的生命周期

2. defaultLifeCycle 默认的生命周期 compile istall test package

3. siteLifeCycle:站点生命周期 site

 

eclipse中配置Maven插件

 

Maven 实战第二天

 

1. 传递依赖冲突解决(了解)

       传递依赖:A(项目)依赖 BB 依赖 C1.1版本);CA的传递依赖,BA的直接依赖,A是工程。导入依赖D D依赖C1.2版本)

       C发生冲突。

       1.1  Maven 有自己的调节原则

      1. 第一原则: 第一声明者优先。

谁先定义就用谁的传递依赖。如下图,只有一个spring-beans

      

可以通过改变pom.xml 代码顺序来改变顺序

      1. 第二原则:路径近者优先。

直接依赖级别高于传递依赖。

 

1.2 排除依赖

      

1.3       版本锁定

 

2. 通过Maven 整合ssh框架。(重点)

       2.1.1

       ssh配置文件加载过程:

 
  

 

 

3. 通过maven 对项目进行拆分、聚合 (重点)

现在对已有的ssh项目进行拆分:将dao层代码已经配置文件提取出来到一个表现独立工程中。ServiceAction同理拆分。

Ssh-parent:父工程。

Ssh-dao

Ssh-service

Ssh-web

拆分完成之后进行聚合,提出概念父工程。

3.1 创建父工程。

创建好的父工程的目录结构:只有pom文件

  1. 项目需要的依赖信息,在父工程定义,子工程直接继承过来。
  2. 将各个子模块聚合在一起。

父工程不进行编码

3.2 将我们创建好的父工程发布到本地仓库。

原因:将来service、dao发布到本地仓库。没发布service工程会报错。

如果忘记此步骤:将父工程发布到本地仓库。

3.3 创建子模块Ssh-dao

Ssh-dao:负责数据访问层:包含dao相关代码及配置文件。

spring的配置文件进行了拆分。

applicationContext-basic.xml:项目基础代码。

applicationContext-dao.xmldaobean对象代码。

3.4 创建子模块Ssh-service

ssh-service工程中添加ssh-dao的依赖。

总结:当项目中需要的某一依赖没有传递过来,在自己工程中添加对应依赖就可以。

3.5 创建Ssh-web模块。

3.6 运行方式:

1. 运行父工程。父工程将各个子模块聚合在一起,运行ssh-web打成war包发布到tomcat

2. 直接运行web工程,web – Service – dao

3. 部署到tomcat

 

4.私服的一个应用 (了解)

4.1私服安装

1. 下载安装包

  1. 解压到本地

  1. 使用管理员权限打开idos下执行命令安装私服

  1. 找到私服访问路径。

http://localhost:8081/nexus/#welcome

登录: admin/admin123

Hosted:宿主仓库。

存放本公司开发的jar包(正式版本、测试版本、第三方:存在版权问题Oracle)

Proxy 代理仓库:

代理中央仓库、apache下测试版本的jar包。

Group 组仓库:

将来连接组仓库。

Virtual 虚拟仓库(已废弃)

  1. 如何上传jar到私服

1)、在maven目录下conf/settins.xml认证:配置用户名和密码。

2). 在将要上传的项目的pom.xml中配置jar上传路径。

3.执行命令发布项目到私服(上传)。

Deploy

4. 下载jar包到本地仓库。(应用)

在maven目录下conf/settings.xml 下配置模板。

<profile>

       <id>dev</id>

       <repositories>

         <repository>

           <id>nexus</id>

           <url>http://localhost:8081/nexus/content/groups/public</url>

           <releases>

                      <enabled>true</enabled>

               </releases>

           <snapshots>

                      <enabled>true</enabled>

               </snapshots>

        </repository>  

       </repositories>

 

       <pluginRepositories>

          <pluginRepository>

                 <id>public </id>

                             <name>public  Repositories</name>

                  <url>http://localhost:8081/nexus/content/groups/public</url>

                 <!-- <releases><enabled>true</enabled></releases>

                 <snapshots><enabled>true</enabled></snapshots>-->

                </pluginRepository>

          </pluginRepositories>

     </profile>

2.激活模板。

<activeProfiles>

      <activeProfile>dev</activeProfile>

</activeProfiles>

5. 总结。

1. 使用maven整合ssh框架。

2. 拆分ssh工程。

A)将每一层代码 & 配置文件全部提取到一个独立工程中。

3. 私服(了解)。

上传、下载jar包。

  1. Maven的好处。
    1. 不再拷贝jar包,项目不需要存放jar包,源代码小。
    2. 将代码的耦合度进一步降低
    3.  

使用maven开发的工程,如果环境统一,导入maven的项目就不会报错。

    1. 方便项目进行升级。
    2. 节省人力的成本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值