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

项目管理利器——maven

难度初级
时长 2小时 1分
学习人数
综合评分9.60
486人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
  • maven中的pom解析
    查看全部
  • mvn archetype:generate :一步步填写项目所需资料

    mvn archetype:generate -DgroupId=组织名,

                                             -DartifactId=项目模块名

                                             -Dversion=版本号

                                             -Dpackage=代码所存在的包名

    查看全部
  • mvn -v

    mvn -compile :编译项目

    mvn -test :运行测试

    mvn -package :生成部署包

    mvn -clean :清空编译文件

    mvn -install :将生成的jar文件提交到mvn仓库中

    查看全部
  • package的命名,最好遵循groupId和ArtifactId。方便我们后期搜索和管理!
    查看全部
  • 建立web工程的步骤

    1. 先建立Maven工程,选择webapp模式进行创建。

    2. 其次引入servlet-api的依赖包

    3. 看工程的目录结构,如果不符合相应maven的结构,则需要自己手动加入包,在当前Project Expoler下加入不了包,则需要在Naviate下进行加入相应的包。

    4. 右键属性,找到相应的Project Facts 选中web 2.3的版本。

    5. 右键属性,找到Deploy 的选项将test的选项去掉,意为需要在发布的时候不发布这两个测试的包。

    6. 添加tomcat或者jetty的插件,然后制定其在Maven打包的工程中引用即可。

    7. 添加插件直接使用plugins plugin即可。将坐标加入进去,在打包阶段使用插件则使用executions即可,写入相应的phase阶段,以及goals目标。

    executions与exclusions区别

    前者指的是在Maven生命周期的那个阶段运行此插件,将此插件集成到生命周期的过程中。

    后者指的是排除依赖关系的标签。

    查看全部
  • 聚合:指的是多个Maven包一起打包。

    即新建一个Maven工程,在新的Maven工程里面加入Modules

    然后加入多个module,一个module代表一个Maven项目,之后对此新建的Maven工程进行打包,即可以将其下的所有工程进行打包。

    继承:是指如果很多Maven工程都有用到相应的包,那么我们需要建立一个父类的Maven工程,让其他的Maven工程继承此工程,即可以获取相应的包。

    即:新建一个Maven工程,写入dependenceMangent标签,并且将需要被继承的包dependences 以及dependence的依赖坐标加入进去。

    其次在子工程中,写入parent标签进行继承,写入相应父工程的坐标即可。子工程中仍旧需要写入引用,只不过不需要写入相应的版本即可。

    ps:可以pom.xml文件中定义Properties属性,自定义标签。

           然后在相应位置引用的形式是${标签名}即可。

    查看全部
  • 如果在同一个工程下,加入多个依赖包只是版本等不同,则不遵循以下原则,会变成之后的版本覆盖掉之前的版本。后引入的jar包覆盖之前的Jar包。

    而在Maven工程之间依赖关系,则遵循:

    1. 短路优先:即找到该不同版本的Jar包,那个离着当前工程最近,就是用那个。

    2. 谁先解析就用谁:即如果找到该不同版本的Jar包的路径长度是相同的,那么在当前工程引用其他工程的时候,那个工程里的Jar包先被解析就是用谁。即先来后到。例:当A工程引用了B和C工程,取决于是B先被解析还是C先被解析,则选择谁的Jar包,主要看配置文件中的依赖的位置。

    查看全部
    0 采集 收起 来源:maven依赖冲突

    2018-08-27

  • 依赖传递是指A依赖B B依赖C 那么A间接依赖C。

    创建三个Maven工程,并且在B中引用C的坐标,A中引用B的坐标。

    注意:必须先对C和B进行编译打包同步到本地仓库,否则添加依赖的时候找不到相应的包。

    如果不想在A中让B依赖C,那么则在A项目中,加入exclusions exclusion标签,加入C的坐标,排除依赖。

    修改Maven的JRE版本,需要从网上查找加入到setting.xml 文件的profiles标签中。在建立新的maven工程则JRE一致了。

    查看全部
    3 采集 收起 来源:maven依赖传递

    2018-08-27

  • 程序三个阶段:编译测试运行

    scope则根据其值来规定该依赖作用的范围。

    1. compile 在编译测试运行的时候都有效

    2. provide 在编译以及测试的时候有效

    3. runtime 在测试以及运行的时候有效

    4. test 只在测试的时候有效

    5. system 关联本机系统的JAVA_HOME 可移植性差

    6. import 依赖于dependenceManagement标签,可以将其他类型为type:pom的坐标导入到该依赖管理中。意思是把其他maven项目的pom的依赖导入到该项目的依赖管理中。

    含义地址:

    http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

    查看全部
    0 采集 收起 来源:maven依赖范围

    2018-08-27

  • 根元素 project<br> 2.modelVersion 固定版本4.0.0 指定了当前pom的版本<br> 3.坐标 <groupId>,<artifactId>,<version>,<packageing><br> groupId 反写的公司网址+项目名<br> artifactId 项目名+模块名<br> version 版本号 第一个0表示大版本号,第二个0表示分支版本号,第三个0表示小版本号。如:0.0.1snapshot快照。<br> (snapshot 快照/alpha 内部测试/beta 公测/Release稳定/GA正式发布)<br> packaging 打包方式 默认是jar<br> 还有war,zip,pom包 4. name :项目描述名<br> url:项目的地址<br> description:项目描述<br> developers:开发人员列表<br> licenses:许可证<br> organization:组织信息<br> 5.dependency的<br> <scope>指定依赖的范围 :test在测试的时候有效,如果在主代码中引用就会报错 <optional>:设置依赖是否可选<br> :默认是false,子项目默认是继承的 true,则子项目必须显示的引用该依赖 <exclusions>:排除依赖传递列表(A->B->C,可排除C)<br> 6.dependencyManagement管理,仅仅启到定义的作用,并不会被运行,不会被引用到实际的依赖,用于定义parent,子模块继承。<br> 7.build-plugins 插件列表<br> 8.parent 、 modules 可指定多个maven项目(指定多个模块,一起编译)

    查看全部
  • Maven 生命周期 : 清理项目 构建项目 发布站点

    清理项目:clean 分为3个阶段,pre-clean 清理前 clean 清理 post-clean清理之后

    构建项目: compile 编译 test 测试 package打包

    发布站点:pre-site发布站点前 site 发布站点 post-site发布站点后

    在Maven官网有其相应的插件,对应了相应生命周期的操作。

    在pom文件中引入插件,build下的plugins 创建单个plugin

    输入相应的坐标(groupId artifactid version),如果需要绑定到相应的生命周期过程的时候,则需要加入executions 加入单个 execution 

    加入标签 phase 表示是在哪个生命周期期间运行此插件,加入goals

    写入单个goal,表示插件的类别。格式如下:

    <build>

       <plugins>

          <plugin>

             <groupId></groupId>

              <artifactId></artifactId>

              <version></version>

            <executions>

                  <execution>

                        <phase></phase>

                        <goals>

                           <goal></goal>

                        </goals>

                  </execution>

            

            </executions>

          </plugin>

          

       </plugins> 

    </build>



    查看全部
  • jetty 插件 构建web容器

    查看全部
  • SNAPSHOT 快照版本什么意思
    查看全部
  • Junit注解有什么作用
    查看全部
  • 依赖冲突

    1短路优先,优先解析短路的版本

    2谁先声明先解析

    查看全部
    0 采集 收起 来源:maven依赖冲突

    2018-08-25

举报

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

微信扫码,参与3人拼团

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

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