为了账号安全,请及时绑定邮箱和手机立即绑定

项目管理利器——maven

难度初级
时长 2小时 1分
学习人数
综合评分9.60
486人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
  • pom.xml常用元素 modelVersion 指定了当前pom版本 groupId 反写的公司网址+项目名 artifactId 项目名+模块名 version 版本号 第一个0表示大版本号,第二个0表示大版本号,第三个0表示大版本号 0.0.1snapshot快照 packaging 打包方式 默认是jar name 项目的描述名 url 项目的地址 description 项目描述 developers 开发人员信息 licenses 许可证信息 dependencies dependency scope 依赖范围 optional 设置依赖是否可选 exclusion dependencyManagement 依赖管理 不会被运行 build plugins 插件列表(指出坐标) parent 对父模块的继承 modules 定义多个模块 一起进行编译
    查看全部
  • maven创建目录的两种方式 1.archetype:generate 按照提示进行选择 2.archetype:generate -DgourpId=组织名,公司网址的反写+项目名称 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage=代码所在的包名 实例 mvn archetype:generate -DgroupId=com.imooc.maven04 -DartifactId=maven04-demo -Dversion=1.0.0-SNAPSHOT -Dpackage=com.imooc.maven04-demo
    查看全部
  • 1.compile:默认范围,编译测试运行都有效 2.provided:在编译和测试时有效 3.runtime:在测试和运行时有效 4.test:只在测试时有效 5.system:在编译和测试时有效,与本机系统关联,可移植性差 6.import:导入的范围,它只使用在dependencyManagement中,表示从其他的pom中导入dependency的配置
    查看全部
    9 采集 收起 来源:maven依赖范围

    2015-07-23

  • 项目管理利器(Maven)——Pom.xml解析 <name>项目的描述名</name> <url>项目的地址</url> <description>项目描述</description> <developers>开发人员信息</developers> <licenses>许可证信息</licenses> <!-- 依赖列表 --> <dependencies> <!-- 依赖项 --> <dependency> <groupId></groupId> <artifactId></artifactId> <version></version> <type></type> <scope>依赖的范围</scope> <optional>设置依赖是否可选,默认是false</optional> <!-- 排除依赖传递列表 --> <exclusions> <exclusion></exclusion> </exclusions> </dependency> </dependencies> <!-- 依赖的管理,一般定义在父模块中,由子模块去继承 --> <dependencyManagement> <dependencies> <dependency></dependency> </dependencies> </dependencyManagement> <!-- 对构建行为提供相应的支持 --> <build> <!-- 插件列表 --> <plugins> <plugin> <!-- 指定坐标 --> <groupId></groupId> <artifactId></artifactId> <version></version> </plugin> </plugins> </build> <!-- 一般在子模块中指定所继承的父模块 --> <parent></parent> <!-- 模块列表 --> <modules> <module></module> </modules> 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 完整的项目构建过程包括: 清理、编译、测试、打包、集成测试、验证、部署 maven生命周期: clean:清理项目 - pre-clean :执行清理前的工作 - clean:清理上一次构建生成的所有文件 - post-clean:执行清理后的文件 default:构建项目 - compile test package install site:生成项目站点 - pre-site 在生成项目站点之前要完成的工作 - site 生成项目的站点文档 - post-site在生成项目站点后要完成的工作 - site-deploy发布生成的站点到服务器上 http://maven.apache.org/plugins/index.html 例如:source插件,打包 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.4</version> <executions> <execution> <phase>package</phase> <!--绑定到的目标阶段--> <goals> <goal>jar-no-fork</goal> <!--目标方式,无分支--> </goals> </execution> </executions> <configuration> <outputDirectory>/absolute/path/to/the/output/directory</outputDirectory> <!--输出路径--> <finalName>filename-of-generated-jar-file</finalName> <attach>false</attach> </configuration> </plugin>
    查看全部
  • <profile> <id>jdk-1.7</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile>
    查看全部
    8 采集 收起 来源:maven依赖传递

    2018-03-22

  • maven基于项目管理的对象模型(POM),可用一小段描述信息来管理项目的构建、报告和文档的项目管理工具。 下载:maven.apache.org 目录结构: boot目录包含一个类加载器框架 bin目录包含mvn的运行脚本 confing目录包含配置文件 lib目录包含mvn使用的类库 配置环境变量: M2_HOME maven主目录 path 添加 ;%M2_HOME%\bin 检测安装: cmd: mvn -v
    查看全部
  • 1:打开Eclipse 2:创建Maven项目,选择archetype-webapp模板 3:解决Servlet没有生命依赖的问题,在pom.xml中添加servlet的依赖,可以去中央仓库选择servlet版本 例如: <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0-b01</version> </dependency> 4:手工完善Maven约定好的目录结构 可以在navigator窗口中手动新建 ../src/main/java ../src/test/java 5:Project Explorer中更新项目 6:创建项目的输出目录 build path中设置输出路径output folder,确保每个module都输出在../tartet/classes目录中 7:将Maven项目转换为Web项目 右击-属性-project facets-勾选动态模板(Dynamic Web Module) 8:修改部署时配置去掉多余的配置项例如:测试代码 右击-属性-Deployment Assembly-删除多余的配置项(测试代码) 9:使用package命令打包项目—使用jetty这个插件(在Maven的中央插件库中寻找)作为Web容器,在中央仓库查找jetty的plugin坐标配置到pom.xml中 pom.xml例子: <build> <finalName>webbproject-demo</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>2.1.1</version> <executions> <execution> <!-- 在打包成功后使用jetty:run来运行jetty服务 --> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
    查看全部
  • 依赖:就是我们编程时需要使用到的他人为我们提供好的程序,各种框架、各种库、各种API、各种工具包等等都是这样的。对于JAVA编程而言,我们需要将这些程序(打好的JAR包,放到classpath路径下就可以了)Maven为我们提供了三种classpath,编译、运行、测试,所以就进一步的产生了依赖范围这个概念,就是指这三种classpath在什么时候有效,下面是依赖范围(三种classpath有效的性的一个划分)的六种分类:<br> 1.compile:默认范围,编译测试运行都有效<br> 2.provided:在编译和测试时有效<br> 3.runtime:在测试和运行时有效<br> 4.test:只在测试时有效<br> 5.system:在编译和测试时有效,与本机系统关联,可移植性差<br> 6.import:导入的范围,它只使用在dependencyManagement中,表示从其他的pom中导入dependency的配置 老师这里是一个入门的讲解,如果想深入的了解这个工具的使用方式,应该去官网读文档,并且在实际的工作中多多的使用使用,才是关键。
    查看全部
    6 采集 收起 来源:maven依赖范围

    2018-03-22

  • 老师讲得详略得当,语速适中,让我对maven明白了不少,非常感谢!
    查看全部
    6 采集 收起 来源:课程总结

    2015-08-23

  • 依赖冲突 不同版本的构件 1.短路优先 2.先声明先优先 如果路径长度相同,则谁先声明,先解析谁
    查看全部
    6 采集 收起 来源:maven依赖冲突

    2015-07-23

  • 坐标 构件 仓库 本地仓库 远程仓库:maven-model-builder-3.3.3.jar\org\apache\maven\model,超级pom.xml文件, 全球中央仓库地址:https://repo.maven.apache.org/maven2 镜像仓库 /conf/setting文件: <mirror> <id>maven.net.cn</id> <mirrorOf>central</mirrorOf> <name>central mirror in china</name> <url>http://maven.net.cn/content/groups/public</url> </mirror> 一旦配置了镜像仓库,那么先前的所有配置都会转到镜像仓库中, 修改本地仓库的位置: <localRepository>D:/Maven/repository</localRepository>
    查看全部
  • ----------------------------------20150712------------- maven基于项目管理的对象模型(POM),可用一小段描述信息来管理项目的构建、 报告和文档的项目管理工具。 下载:maven.apache.org 目录结构: boot目录包含一个类加载器框架 bin目录包含mvn的运行脚本 config目录包含配置文件 lib目录包含mvn使用的类库 配置环境变量: M2_HOME maven主目录,比如:D:\Maven\apache-maven-3.3.3 path 添加 ;%M2_HOME%\bin 检测安装是否成功: 运行cmd: mvn -v maven项目的目录结构: src -main -java -package(自定义的包) -test -java -package -resources(存放一些资源文件) POM文件 <groupId>com.fezi.maven</groupId> <artifactId>maven01-model</artifactId> <version>0.0.1-SNAPSHOT</version> groupId的值就是项目的包名 artifactId的值就是模块名,这里一般建议使用项目名 version的值是版本名 一般是快照 运行cmd: 切换盘符: e: cd E:\Learing_Test\test_maven\maven01 输入mvn compile 对项目进行编译: mvn compile 重新编译: mvn clean 运行测试用例: mvn test 打出错误信息的堆栈记录: mvn -e test 项目打包: mvn package
    查看全部
  • mvn install 安装jar到本地仓库中,这样其他依赖该jar的项目就可以用到了。 mav编译的流程是:编译代码---》发现缺少jar包-----》去pom文件中找依赖的坐标----》去本地仓库找依赖---》如果没有再联网去maven的中央仓库找
    查看全部
  • maven中Pom.xml解析

    Pom.xml:maven项目的核心管理文件,用于项目描述、组织管理、依赖管理、构建信息的管理,Pom中包含了许多的标签。

    Pom.xml的常用元素:

    <project>是pom.xml的根元素,包含了pom的一些约束信息。

    <modelVersion>是一个固定的版本,也是必须的元素,指定了当前pom的版本。

    坐标的信息由以下标签组成:

    <groupId>主项目的标识,用来定义当前的maven属于哪个实际的项目,和我们为项目创建的包是一样的,是由反写的公司网址+项目名组成</groupId>

    注意:maven的项目和实际的项目不是一一对应关系,maven项目体现的是模块化的概念,因此一个实际项目往往会划分成很多的模块。

    <artifactId>表示一个模块的标识,实际项目中的一个模块,一般会使用项目名+模块名进行标识,比如struts2项目,它下面可能分为struts2demo01、struts2demo02,struts2是项目名,而demo01和demo02是模块名</artifactId>

    <version>标识当前项目的版本号,版本号一般都是由三个数字来组成的,第一个0标识大版本号,第二个0表示分支版本号,第三个0表示小版本号,一般形式可以写为0.0.1snapshot,snapshot为快照的版本,版本除了snapshot,还有内测的测试版本alpha,以及公测版beta,比如在网上玩新出的游戏,经常会有公测不删档,对应的就是该版本,还有Release版本,它是一个稳定的版本,以及GA版本是一个正式的发布版本<version>。

    <packaging>maven项目打包的方式,不指定默认打包是jar,还可以打包成其他类型,比如war、zip、pom等<packaging>

    其他的标签:

    <name>项目的描述名,一般是在产生对象文档时候才会使用</name>

    <url>项目的地址</url>

    <description>项目的描述</description>

    <developers>开发人员的列表,项目发布的时候,可以把开发人员的信息填写进去</developers>

    <licenses>许可证的信息,比如经常用到的开源框架,它都会有一些许可证的信息</licenses>

    <organization>组织信息</organization>

    依赖列表:它是比较重要的,会经常使用到,依赖列表下可以包含多个依赖项,依赖项通过制定它的坐标来确定依赖所在的位置,也就是<groupId><artifactId><version>,还可以指定它的<type>,还可以使用<scope>指定依赖的范围(之前写的junit的测试范围是test,test表示junit,这个构件(junit的jar包),只在测试的依赖范围内有用,比如在主代码中引用junit这个类,它就会报错),<optional>该标签有两个值,分别是true和false,它的作用是设置依赖是否可选,默认是false,子项目默认是false时,子项目默认是继承的,如果为true,子项目必须显示的引入该依赖,<exclusions>是一个排除依赖传递的列表,该标签下可以排除多个依赖通过<exclusion>,作用是:比如Ajar包依赖Bjar包,Bjar包又依赖Cjar包,C对于A来说就是传递依赖,如果A不想依赖C,就可以使用这个标签,比如我们使用的Spirng除了核心的jar包之外,它的jar包还引用其它很多相关的jar包,但对于我们而言只需要使用Spring的jar包,而其他的一些相关的jar包我们并不需要使用。

    https://img1.sycdn.imooc.com//5d0847500001479603270432.jpg

    <dependencyManagement>依赖的管理,也可以通过<dependencies>声明依赖列表,通过<dependency>包含多个依赖,但是它并不会被运行,也就是说它不会被引入到实际的依赖当中,该标签一般主要用于定义在父模块中,供子模块继承用的。比如之前多个maven项目中,都使用到junit,我们就可以抽象出一个父类的模块,然后在父类模块中对junit进行一个定义,其他子模块直接继承该父模块即可。

    https://img1.sycdn.imooc.com//5d0848640001c65203640182.jpg

    <build>通常为我们构建的行为来提供相应的支持,我们经常在这里使用到<plugins>表示插件的列表,在该标签下可以有多个<plugin>标签,(我们之前使用到source插件对项目进行打包),在<plugin>中依旧是要指出插件的坐标通过<groupId><artifactId><version>

    https://img1.sycdn.imooc.com//5d08496c00019cbe04360288.jpg

    <parent>以及<modules>:经常使用到的:<parent>通常用于在子模块中对父模块的pom的一个继承,<modules>用来聚合运行多个maven的项目,如果有很多的maven模块是要编译的话呢,我们之前的办法是一个一个的编译,而使用<modules>就可以指定多个的模块,然后在一起进行编译。

    https://img1.sycdn.imooc.com//5d084a8e00011ae403100180.jpg


    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
学习本门课程前需要具备Java基础和Java Web基础!
老师告诉你能学到什么?
1、maven的基本概念 2、如何快速使用maven来构建项目 3、maven中的核心概念 4、使用maven构建web项目以及如何集成tomcat、jetty插件

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!