A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

同学们,今天我们学习了一个新的概念--Maven,可以把它理解为jar包管理工具,Maven在开发中普遍使用,但使用并不是很难。大家在今天的学习过程中需要掌握的有:

  • 完成Maven环境搭建
  • 能够分清几种仓库的区别
  • 熟练掌握常见命令
  • 能够用Maven完成ssh项目的搭建
  • 了解聚合和继承的区别

请同学们按照如上要求,总结你对Maven的理解



52 个回复

正序浏览
许煜 maven每日总结:
完成Maven环境搭建
1 下载maven
2配置环境变量 m2_home maven_home 以及path
3修改配置文件settings.xml 配置本地仓库的位置
能够分清几种仓库的区别
1 中央仓库 ----由maven团队管理的jar包仓库
2 本地仓库 ----由自己管理的jar包仓库
3 私服    ----个人或公司自己搭建的服务器管理jar包的仓库
熟练掌握常见命令
1 编译指令compail
2 打包指令 package
3 安装指令 install
4 清除指令 clean
5 运行指令 tomcat7:run(tomcat版本7及7以上)
能够用Maven完成ssh项目的搭建
创建maven项目 使用pom.xml文件管理jar包
了解聚合和继承的区别
举一下两个例子:
聚合 :将web层 service层 Controller层 聚合一起 ,形成完整web项目
继承: web层,service层,Controller分别从父项目继承属于自己的依赖
  我对maven的理解:maven就是一个比较智能的仓库管理系统,我们通过pom.xml配置文件控制项目需要的jar包,各个web小项目聚合成一个完整的项目,而各个web小项目又各种从父类继承各自的依赖,maven就像一个仓库管理员,统筹规划,负责进货,出货,货物分配,分区管理,集合管理.将一个完整的项目打散,又将打散的部分有规则地组装在一起.
回复 使用道具 举报
Do1 中级黑马 2018-7-29 09:30:35
52#
郑泽珑

maven是一个项目对象模型(pom),主要应用其依赖管理系统实现模块化开发
maven使用:
1.配置Windows环境变量,新建一个MAVEN_HOME路径指向解压后的maven文件夹,在PATH中添加,路径指向maven中的bin文件夹,新建一个maven本地仓库,在maven文件夹下的conf文件夹中的setting.xml配置本地仓库路径
2.打开eclipse,Windows—>Preferences—>搜索输入maven—>Installations—>add—>选中maven目录添加完成后勾选—>User Settings—>User Settings标签下点击Browse找到setting.xml文件保存,这样maven就配置好了

3.新建一个maven工程
maven分为3种新建的项目类型
pom:父工程,主要用于jar包版本控制,本身没有实质内容,用于管理和提供依赖给其子工程,所有项目必须继承它,也称聚合工程,有聚合必定存在继承
war:用于发布到服务器上的工程,这些工程能够直接被用户访问
jar:顾名思义就是jar包,提供一些实用类和工具类等等,提供给其它需要的工程



回复 使用道具 举报
刘文峰

Maven的环境搭建:下载maven的压缩包,并配置环境变量MAVEN_HONE,在path中添加一个%MAVEN_HONE%\bin,M2_HOME(该环境变量根据情况配置)
Maven的仓库:maven有中央仓库,本地仓库,私服三个仓库.中央仓库有maven的团队管理,里面主要是存放常用的jar包,本地仓库在自己电脑上,工程在第一次会从中央仓库找jar包并下载到本地仓库中,第二次开始就会先从本地仓库查找,找不到再去中央仓库;私服就是公司自己搭建的一个远程仓库.
Maven常见的几种命令:
Clean: 清除本地仓库的工程
Compile:  编译工程
Install:  将工程加载到本地仓库中
Package:  打包工程(jar,war,pom)
tomcat:run:  使用内置的tomcat6服务器
tomcat7:run:  使用tomcat7服务器
聚合和继承:聚合是指一个工程(meven project)内包含多个模块(maven module),其本身只相当于一个pom.xml文件,可以将多个模块的重复内容抽取出来,减少空间.继承是模块继承另一个模块的功能,二者通常同时使用.
回复 使用道具 举报
Ldddd 初级黑马 2018-7-29 09:06:22
50#
赖镇东:maven(day01)
今天学习了maven,重点我觉得就两个:
一、能独立下载配置安装maven(可以拷贝)
二、(重点)maven下创建war项目:(必须掌握,今天最重要)       
        1、创建maven项目,注意打包方式为war
        2、会报错,复制一个WEB.INF/web.xml至webapp文件下
        3、添加插件及导入依赖包,pom.xml(直接复制模板)
                【1】插件:(1)编译方式
                                   (2)更换Tomcat,设置端口号与路径
                                   (3)添加servlet-api,必须!!!指定 scope 为 provided
                【2】依赖包
        4、创建包结构
        5、编写applicationContext.xml与struts.xml(复制模板修改参数)
                【1】修改(1)切入点表达式
                               (2)数据库
                               (3)service的印射文件
        6、开发
三、其它知识点了解即可,用到了再回来看
回复 使用道具 举报
2902 初级黑马 2018-7-29 08:59:55
49#

maven主要用于管理我们的jar包的开源工具

特点  有一个pom.xml文件  pom.xml文件通过引用jar包的仓库(在线中央仓库,本地仓库,私服)
来替换以前在lib中的jar包,使得maven项目的文件大小大大降低,减少对空间资源的占用;

maven中常用的命令有: complie,clean,install,package,tomcat7:run

在引入依赖时有有些相同的属性,为了方便以后管理 我们可以吧他们抽取出来,自定义一个变量
在标签中引用变量,这样可以做到一次定义.多次使用.
回复 使用道具 举报
Ldddd 初级黑马 2018-7-29 08:59:43
48#
赖镇东:
            今天学习了maven(day01),学习了下载安装maven,配置环境,总结一下今天最主要的知识点是:
1、会独立配置maven及环境(依赖文件可以拷贝)
2、创建maven下的war项目:
                   1、创建maven项目,注意打包方式为war
                2、会报错,复制一个WEB.INF/web.xml至webapp文件下
                3、添加插件及导入依赖包,pom.xml(直接复制模板)
                【1】插件:(1)编译方式
                                   (2)更换Tomcat,设置端口号与路径
                                   (3)添加servlet-api,必须!!!指定 scope 为 provided
                【2】依赖包
        4、创建包结构
        5、编写applicationContext.xml与struts.xml(复制模板修改参数)
                【1】修改(1)切入点表达式
                                         (2)数据库
                                         (3)service的印射文件
        6、开发
回复 使用道具 举报
吴利君
maven是一个项目管理工具,用来管理项目,他有仓库,可以用来管理jar包,使用的时候直接导入,方便程序开发,减小程序体积!
它的仓库有中央仓库,本地仓库以及私服,个人开发者需要搭建一个本地仓库,便于程序开发,
由于maven的中央仓库是国外的,国内使用最后在配置文件中添加镜像私服,比如阿里云的。
这样会加快jar包的引用。
maven的聚合很厉害,可以吧项目拆分子模块,这样便于项目的管理与模块开发!
总之maven是一个很厉害的工具!
回复 使用道具 举报
李志勇:Maven仓库分为3种;1、中央仓库,2、本地仓库,3、私服
clean  清除        compile  编译        package  打包        install  将jar发布到本地仓库
tomcat:run 内置tomcat运行程序    tomcat7:run  tomcat7运行程序
添加依赖
<dependencies>
  <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
          <scope>provided</scope>
  </dependency>
</dependencies>
添加插件
<build>  
          <plugins>
              <plugin>  
                  <groupId>org.apache.maven.plugins</groupId>  
                  <artifactId>maven-compiler-plugin</artifactId>  
                  <version>2.3.2</version>  
                  <configuration>  
                      <source>1.7</source>  
                      <target>1.7</target>  
                  </configuration>  
              </plugin>  
              <plugin>
                                <groupId>org.apache.tomcat.maven</groupId>
                                <artifactId>tomcat7-maven-plugin</artifactId>
                                <configuration>
                                        <!-- 指定端口 -->
                                        <port>8080</port>
                                        <!-- 请求路径 -->
                                        <path>/</path>
                                </configuration>
                    </plugin>
          </plugins>  
        </build>
回复 使用道具 举报
李志勇:
Maven仓库分为3种;1、中央仓库,2、本地仓库,3、私服
clean  清除        compile  编译        package  打包        install  将jar发布到本地仓库
tomcat:run 内置tomcat运行程序    tomcat7:run  tomcat7运行程序
添加依赖
<dependencies>
  <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
          <scope>provided</scope>
  </dependency>
</dependencies>
添加插件
<build>  
          <plugins>
              <plugin>  
                  <groupId>org.apache.maven.plugins</groupId>  
                  <artifactId>maven-compiler-plugin</artifactId>  
                  <version>2.3.2</version>  
                  <configuration>  
                      <source>1.7</source>  
                      <target>1.7</target>  
                  </configuration>  
              </plugin>  
              <plugin>
                                <groupId>org.apache.tomcat.maven</groupId>
                                <artifactId>tomcat7-maven-plugin</artifactId>
                                <configuration>
                                        <!-- 指定端口 -->
                                        <port>8080</port>
                                        <!-- 请求路径 -->
                                        <path>/</path>
                                </configuration>
                    </plugin>
          </plugins>  
        </build>
回复 使用道具 举报
汪志阳
今天学习了项目管理的工具Maven,maven是一个开源项目,主要是来定义
工程所依赖的jar包,和工程的坐标,打包方式.maven存放包在中央仓库,本地仓库
和私服中.学习了maven后,以后导包都是在maven的配置文件中进行配置,系统自动导入
包,要用maven就要进行配置.配置分为本地仓库的配置和eclipse的配置.
配置完后就是进行工程的创建,maven工程和web工程或者普通java工程的目录结构都不一样,
它的一个核心配置文件pom.xml,在我们进行依赖注入,系统会自动在pom.xml中生成包的信息
而且比如我们添加hibernate的核心包,hibernate包自动帮我们添加它所依赖的包.
maven常用的命令:clear(清理工作);complie(编译源代码);test(单元测试代码);package(打包编译好的代码)
                打包为jar,war,pom;install(安装到本地Maven)库
接下来就是war创建web工程:
    1.新建工程,定义工程坐标为web
    2.手动添加web-inf及下面的web.xml文件
    3.在pom.xml中注入maven,tomacat,servlet信息
    4.新建测试jsp页面,部署测试tomcat7:run
测试没问题后在pom中添加ssh框架所需要的依赖,再者就是和我们之前用web项目没什么区别.
主要在于包的引入方式有别于之前的传统方式

               

回复 使用道具 举报
1.完成Maven环境搭建
    Maven的环境搭建 :
          在我的电脑中
              1.MAVEN-HOME  maven存放位置
              2.M2-HOME   maven存放位置
              3.PATH: %MAVEN-HOME%/bin;
          在maven中
              conf中的settings.xml中<localRepository>D:\repository_ssh</localRepository>
         在eclipse中
              1.在window下preferences的maven的installation和user setting 配置
2.能够分清几种仓库的区别
      三种仓库
           中央仓库:maven管理,只有一个
           本地仓库:下载的jar存放位置
           私服:公司最近定义的仓库
3.熟练掌握常见命令
      clean  清除class文件
      compile 编译元文件
     package 生成jar或war包
     install  将jar生成到本地仓库中
4.能够用Maven完成ssh项目的搭建
      1.创建maven工程包
            maven  project (父类包)
            maven  Module(子类包)
       2.对工程基于坐标管理
           Group id  保存在本地仓库名
           Artifact id 项目名
           Version  版本
           packaging  (jar) (war) (pom)
     4.增加web.xml文件
     5.配置tomcat文件
    6.在pom.xml增加servlet-api   依赖范围
    7.增加ssh依赖
    8.增加配置文件
   
5.了解聚合和继承的区别
        聚合:把多个模块或项目聚合到一起
        继承:子类继承父类
回复 使用道具 举报
本帖最后由 一梦 于 2018-7-29 08:45 编辑

陈世彪:

maven第一天.jpg (269.81 KB, 下载次数: 29)

maven

maven

maven第一天.zip

152.78 KB, 下载次数: 63

回复 使用道具 举报
黄志彬
今天学习了maven,他是一个项目管理工具就是通过pom.xml文件的配置来获取jar包,不用自己再去手动添加jar包
通过对比可以知道有用maven和没用maven,项目的体积相差很大, maven减小了项目的体积.
maven的仓库分为三种,本地仓库(相当于本地缓存)-----私服(公司自己独立开发的)-----中央仓库(由maven团队来维护)
Web工程类型 pom   jar   war
常用的命令:
compile编译(编译是打包的前提)  clean 清除 将target下的class文件清除  
install 安装命令  将工程的jar发布到本地仓库,发布到仓库 目录按照本工程定义的坐标生成目录  
packge 将java工程打包成jar war   tomcat:run  tomcat7:run

聚合 方便管理   继承 把通用的东西都提取到父类里
回复 使用道具 举报
林荣彬

1.Maven是apache下的开源项目,项目管理工具,管理java项目。

2.Maven仓库
  1.中央仓库:就是远程仓库
  2.本地仓库:相当于缓存,工程第一次会从远程仓库下载jar包,第二次不需要从远程仓库下载.
  3.私服:在公司内部架设一台私服,其它公司架设一台仓库,对外公开。

3.maven常见命令:
compile:编译
clean:清理,将target下的class文件清理
test: 执行单元测试类,执行src/test/java下的类
package :将java工程打成jar、war。
install:安装命令,将将程的jar发布到本地仓库
发布到仓库,目录按照本工程定义的坐标生成目录
tomcat7:run :运行项目

4:聚合:就是把多个模块或项目聚合到一起,建立一个专门负责聚合工作的Maven 工程。
继承:多个模块独立开发,但是多个模块可能依赖相同的元素.

5.聚合与继承的区别:
聚合和继承通常是结合使用的,其作用是不同的。聚合是将多个模块的工程汇聚到一起,继承则是指明某个模块工程要继承另一个模块功能。
回复 使用道具 举报
郑志祥

什么是maven?
是 apache 下的开源项目,项目管理工具,管理 java 项目,主要管理jar包

可视化的优点
它管理的java项目不存在包(减少内存)

为什么它不用包呢?
它是通过配置问价pom.xml文件
通过坐标 .和依赖到本地仓库找到jar包的位置
本地仓库:存放jar包的地址位置

生命周期
生命周期就是maven要去干的整个流程(活动)

maven 通过坐标对项目工程所依赖的 jar 包统一规范管理。


本地仓库的配置
打开 maven 的安装目录中 conf/ settings.xml 文件,在这里配置本地仓库:
<localRepository>D:\repository_ssh</localRepository>
注意:路径不要包含中文



为什么要将项目打包成war包?
因为将web项目弄成war包,就可以将整个项目发布到云端,
别人可以通过域名来访问你的网站.
操作:在Maven项目中run as  输入命令 package  ,然后去相应的路径去寻找.



什么是聚合?
所谓聚合,顾名思义,就是把多个模块或项目聚合到一起,我们可以建立一
个专门负责聚合工作的 Maven 工程


什么是继承?
子类能继承父类中存在的所有的jar引用(或者依赖,坐标)


聚合与继承的区别
聚合和继承通常是结合使用的,但是其作用是不同的。聚合是将多个模块的
工程汇聚到一起,而继承则是指明某个模块工程要继承另一个模块功能
简单理解:
继承跟之前的理解的意思一样,之前是继承父类的所有方法,而现在是继承父类的所有的jar包的依赖引用.(亲生孩子继承父类)
聚合:(领养的孩子)


pom.xml的问题,在index.jsp中开启就报错?
解答:忘记配置Servlet--添加一个范围<scope>provided</scope>
po.xml需要引入的3个东西
1,tomcat
2.Servlet
3,maven.plugins

端口号被占用
解决:因为将一个项目启动了两次,关掉就好了
回复 使用道具 举报
本帖最后由 COLDER 于 2018-10-18 19:17 编辑

今日总结整理:如下图片所示

智能截图 1.png (213.61 KB, 下载次数: 37)

智能截图 1.png
回复 使用道具 举报
张育辉
1:什么是maven
        Maven是apache下的开源项目,项目管理工具,管理java项目。如今我们构建一个项目需要用到很多第三方的类库,如写一个使用spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们摸不清,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。而Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率;
2:Maven仓库用来存放Maven管理的所有Jar包。分为:本地仓库 和 中央仓库。本地仓库,私服,Maven本地的Jar包仓库(使用本地仓库需要去xml文件中配置,指定本地仓库的地址)。中央仓库 是Maven官方提供的远程仓库。
当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的中央仓库下载所需Jar包。
Maven基本命令
compile:编译
将Java源文件编译成class文件
test:测试项目
执行test目录下的测试用例
package:打包
将项目打成jar包
clean:删除target文件夹
install:安装
将当前项目放到Maven的本地仓库中。供其他项目使用
(三) 工程目录结构说明
project
       /src/main/java            主体程序 java源文件(不要放配置文件)
       /src/main/resources   主体程序所需要的配置文件(不要放java文件)
       /src/test/java              单元测试程序 java源文件
       /src/test/resources     单元测试程序所用的配置文件
       /target                        编译输出目录
pom.xml                   Maven进行工作的主要配置文件。  

什么是坐标:在Maven中,坐标是Jar包的唯一标识,Maven通过坐标在仓库中找到项目所需的Jar包。
Group Id:项目的名称,项目名称以域名的倒序,比如:cn.itcast.mavendemo
Artifact Id:模块名称(子项目名称)
Version:模块的版本,snapshot(快照版,没有正式发行)、release(正式发行版本)

(四) 聚合和继承的区别
什么是聚合?
将多个项目同时运行就称为聚合。
如何实现聚合?
只需在pom中作如下配置即可实现聚合:
什么是继承?
在聚合多个项目时,如果这些被聚合的项目中需要引入相同的Jar,那么可以将这些Jar写入父pom中,各个子项目继承该pom即可。子类就不需要配置jar包,
如何实现继承?
            父pom配置:将需要继承的Jar包的坐标放入标签即可。
两者的区别就是:多个项目同时同时运行在一起就是聚合,每个项目需要导入自己需要的Jar包,如果聚成了,可以使用父类的jia包;
回复 使用道具 举报
黄进安:

什么是maven?
-一个项目管理工具,用来管理java项目和项目模块分类

maven仓库: 中央仓库,本地仓库,私服

常用的maven命令:
compile  编译  
clean  清理编译后target生成的class文件或者生成的war包
package  将工程打包jar/war
tomcat7:run
install  安装命令,将工程的jar发布到本地仓库 (目录按照本工程定义的坐标生成目录)

eclipse配置maven报错添时加语句:
-Dmaven.multiModuleProjectDirectory=$M2_HOME

聚合:
        可以将一个项目分成一个个maven模型板块,这些板块聚合构成完整的工程项目
继承:
        把工程所需的jar包放在父工程下,每一个maven模型的板块都继承了该父工程的jar包
       
总结:所以聚合和继承一般都是共同存在的.

回复 使用道具 举报
吴俊斌
什么是Maven  Maven是Apache旗下一款开源自动化的项目管理工具,它使用java语言编写,因此Maven是一款跨平台的项目管理工具。
maven命令   
Mvn compile 编译的命令
Mvn clean  清除命令,清除已经编译好的class文件,清除的是targe目录中的文件
Mvn test    测试命令,该命令会将test目录中的源码进行编译
Mvn package   打包命令,会在target目录中生成打包的文件
Mvn install   安装命令,会将打好的jar包,安装到本地仓库
Maven项目的结构
Project
  |-src
  |   |-main
  |   |  |-java        ——存放项目的.java源文件
  |   |  |-resources   ——存放项目资源文件,如spring, mybatis配置文件
  |   |-test
  |      |-java        ——存放所有测试.java文件,如JUnit测试类
  |      |-resources   ——测试资源文件
  |-target             ——目标文件输出位置例如.class、.jar、.war文件
  |-pom.xml           ——maven项目核心配置文件
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马