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

项目管理利器——maven

难度初级
时长 2小时 1分
学习人数
综合评分9.60
486人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
  • 自动创建目录骨架

    - archetype插件

    该插件可以自动创建 符合maven规定的目录骨架


    查看全部
  • Maven核心知识:1)如何创建maven目录;2)仓库的概念,如何更改仓库的位置;3)在eclipse中如何安装maven插件,如何创建maven项目;4)maven的生命周期和插件的概念;5)对pom.xml文件中常用标签和坐标的概念进行讲解;6)对依赖聚合继承举例说明

    查看全部
  • 开源管理和构建工具

    Maven

    Ant

    gradle

    查看全部
  • maven创建目录的2种方式

    加上-DarchetypeCatalog=internal 防止卡在Generating project in Interactive mode


    查看全部
  • maven常用命令

    查看全部
  • maven常用的构建命令

    查看全部
  • 仓库:当在本地仓库中找不到所需要的构件时,则会向远程仓库查找,找到之后会下载到本地仓库供我们使用。如果都查找不到,则会报错。

    查看全部
  • jfjjdj
    查看全部
  • OK了啦
    查看全部
  • maven的命令和创建目录的两种方式。


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

    查看全部
  • https://img1.sycdn.imooc.com//5c47dc5c0001213213370752.jpgmaven

    查看全部
  • <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">
       <!--父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。 坐标包括group ID,artifact ID和
           version。 -->
       <parent>
           <!--被继承的父项目的构件标识符 -->
           <artifactId />
           <!--被继承的父项目的全球唯一标识符 -->
           <groupId />
           <!--被继承的父项目的版本 -->
           <version />
           <!-- 父项目的pom.xml文件的相对路径。相对路径允许你选择一个不同的路径。默认值是../pom.xml。Maven首先在构建当前项目的地方寻找父项
               目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。 -->
           <relativePath />
       </parent>
       <!--声明项目描述符遵循哪一个POM模型版本。模型本身的版本很少改变,虽然如此,但它仍然是必不可少的,这是为了当Maven引入了新的特性或者其他模型变更的时候,确保稳定性。 -->
       <modelVersion>4.0.0</modelVersion>
       <!--项目的全球唯一标识符,通常使用全限定的包名区分该项目和其他项目。并且构建时生成的路径也是由此生成, 如com.mycompany.app生成的相对路径为:/com/mycompany/app -->
       <groupId>asia.banseon</groupId>
       <!-- 构件的标识符,它和group ID一起唯一标识一个构件。换句话说,你不能有两个不同的项目拥有同样的artifact ID和groupID;在某个
           特定的group ID下,artifact ID也必须是唯一的。构件是项目产生的或使用的一个东西,Maven为项目产生的构件包括:JARs,源 码,二进制发布和WARs等。 -->
       <artifactId>banseon-maven2</artifactId>
       <!--项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型 -->
       <packaging>jar</packaging>
       <!--项目当前版本,格式为:主版本.次版本.增量版本-限定版本号 -->
       <version>1.0-SNAPSHOT</version>
       <!--项目的名称, Maven产生的文档用 -->
       <name>banseon-maven</name>
       <!--项目主页的URL, Maven产生的文档用 -->
       <url>http://www.baidu.com/banseon</url>
       <!-- 项目的详细描述, Maven 产生的文档用。 当这个元素能够用HTML格式描述时(例如,CDATA中的文本会被解析器忽略,就可以包含HTML标
           签), 不鼓励使用纯文本描述。如果你需要修改产生的web站点的索引页面,你应该修改你自己的索引页文件,而不是调整这里的文档。 -->
       <description>A maven project to study maven.</description>
       <!--描述了这个项目构建环境中的前提条件。 -->
    <!--描述项目所属组织的各种属性。Maven产生的文档用 -->
        <organization>
            <!--组织的全名 -->
            <name>demo</name>
            <!--组织主页的URL -->
            <url>http://www.baidu.com/banseon</url>
        </organization>
    <!--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。 -->
       <dependencies>
           <dependency>
               <!--依赖的group ID -->
               <groupId>org.apache.maven</groupId>
               <!--依赖的artifact ID -->
               <artifactId>maven-artifact</artifactId>
               <!--依赖的版本号。 在Maven 2里, 也可以配置成版本号的范围。 -->
               <version>3.8.1</version>
               <!-- 依赖类型,默认类型是jar。它通常表示依赖的文件的扩展名,但也有例外。一个类型可以被映射成另外一个扩展名或分类器。类型经常和使用的打包方式对应,
                   尽管这也有例外。一些类型的例子:jar,war,ejb-client和test-jar。如果设置extensions为 true,就可以在 plugin里定义新的类型。所以前面的类型的例子不完整。 -->
               <type>jar</type>
               <!-- 依赖的分类器。分类器可以区分属于同一个POM,但不同构建方式的构件。分类器名被附加到文件名的版本号后面。例如,如果你想要构建两个单独的构件成
                   JAR,一个使用Java 1.4编译器,另一个使用Java 6编译器,你就可以使用分类器来生成两个单独的JAR构件。 -->
               <classifier></classifier>
               <!--依赖范围。在项目发布过程中,帮助决定哪些构件被包括进来。欲知详情请参考依赖机制。 - compile :默认范围,用于编译 - provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
                   - runtime: 在执行时需要使用 - test: 用于test任务时使用 - system: 需要外在提供相应的元素。通过systemPath来取得
                   - systemPath: 仅用于范围为system。提供相应的路径 - optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用 -->
               <scope>test</scope>
               <!--仅供system范围使用。注意,不鼓励使用这个元素,并且在新的版本中该元素可能被覆盖掉。该元素为依赖规定了文件系统上的路径。需要绝对路径而不是相对路径。推荐使用属性匹配绝对路径,例如${java.home}。 -->
               <systemPath></systemPath>
               <!--当计算传递依赖时, 从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。此元素主要用于解决版本冲突问题 -->
               <exclusions>
                   <exclusion>
                       <artifactId>spring-core</artifactId>
                       <groupId>org.springframework</groupId>
                   </exclusion>
               </exclusions>
               <!--可选依赖,如果你在项目B中把C依赖声明为可选,你就需要在依赖于B的项目(例如项目A)中显式的引用对C的依赖。可选依赖阻断依赖的传递性。 -->
               <optional>true</optional>
           </dependency>
       </dependencies>
           <!-- 继承自该项目的所有子项目的默认依赖信息。这部分的依赖信息不会被立即解析,而是当子项目声明一个依赖(必须描述group ID和 artifact 
            ID信息),如果group ID和artifact ID以外的一些信息没有描述,则通过group ID和artifact ID 匹配到这里的依赖,并使用这里的依赖信息。 -->
        <dependencyManagement>
            <dependencies>
                <dependency>
                    ......
                </dependency>
            </dependencies>
        </dependencyManagement>
    </project>


    查看全部
  • <h4>clean:项目清理的处理</h4><p>pre-clean:执行一些需要在clean之前完成的工作<br /><strong>clean:移除所有上一次构建生成的文件</strong><br />post-clean:执行一些需要在clean之后立刻完成的工作</p><h4>default(或 build):项目部署的处理</h4><p>validate 检查工程配置是否正确,完成构建过程的所有必要信息是否能够获取到。<br />initialize 初始化构建状态,例如设置属性。<br />generate-sources 生成编译阶段需要包含的任何源码文件。<br />process-sources 处理源代码,例如,过滤任何值(filter any value)。<br />generate-resources 生成工程包中需要包含的资源文件。<br />process-resources 拷贝和处理资源文件到目的目录中,为打包阶段做准备。<br /><strong>compile 编译工程源码。</strong><br />process-classes 处理编译生成的文件,例如 Java Class 字节码的加强和优化。<br />generate-test-sources 生成编译阶段需要包含的任何测试源代码。<br />process-test-sources 处理测试源代码,例如,过滤任何值(filter any values)。<br />test-compile 编译测试源代码到测试目的目录。<br />process-test-classes 处理测试代码文件编译后生成的文件。<br /><strong>test 使用适当的单元测试框架(例如JUnit)运行测试。</strong><br />prepare-package 在真正打包之前,为准备打包执行任何必要的操作。<br /><strong>package 获取编译后的代码,并按照可发布的格式进行打包,例如 JAR、WAR 或者 EAR 文件。</strong><br />pre-integration-test 在集成测试执行之前,执行所需的操作。例如,设置所需的环境变量。<br />integration-test 处理和部署必须的工程包到集成测试能够运行的环境中。<br />post-integration-test 在集成测试被执行后执行必要的操作。例如,清理环境。<br />verify 运行检查操作来验证工程包是有效的,并满足质量要求。<br /><strong>install 安装工程包到本地仓库中,该仓库可以作为本地其他工程的依赖。</strong><br />deploy 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程。</p><h4>site:项目站点文档创建的处理</h4><p>pre-site:执行一些需要在生成站点文档之前完成的工作<br />site:生成项目的站点文档<br />post-site: 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备<br />site-deploy:将生成的站点文档部署到特定的服务器上</p><p><br /></p>
    查看全部
  • maven基于项目管理的对象模型(POM),可用一小段描述信息来管理项目的构建、报告和文档的项目管理工具。

    统一管理jar包 

    下载:maven.apache.org


    目录结构:

        boot目录包含一个类加载器框架

        bin目录包含mvn的运行脚本

        confing目录包含配置文件

        lib目录包含mvn使用的类库


    配置环境变量:

       M2_HOME maven主目录

       path 添加 ;%M2_HOME%\bin


    检测安装:

         cmd:  mvn -v


    查看全部
  • 小伙伴们可以直接拷贝我这个,这个是正确的!

    <?xml version="1.0" encoding="UTF-8"?>
    <project 
        xmlns="http://maven.apache.org/POM/4.0.0" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
          http://maven.apache.org/xsd/maven-4.0.0.xsd">
          <modelVersion>4.0.0</modelVersion>
        <groupId>com.imooc.maven01</groupId>
        <artifactId>maven01-model</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
            </dependency>
        </dependencies>
    </project>


    查看全部

举报

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

微信扫码,参与3人拼团

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

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