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

项目管理利器——maven

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

    src

       -main

            --java

       -test

            --java

       resource

    查看全部
  • 课程总结

    【一】maven下载和环境搭建:如何在windows下安装maven,主要是配置了maven 的环境变量,分别是建一个pom变量指向maven的安装目录,然后为能在maven 的命令行中使用maven命令,然后将Path路径指向maven的bin目录。

    【二】maven目录骨架说明:学习了maven的基本骨架src——>main——>java——>主代码,src——>test——>测试代码,用于测试用例存放的路径,并且要在maven项目的根目录中存放pom.xml用于管理项目依赖和构建构成。

    【三】常用的maven命令:介绍了常用命令以及使用archetypes自动生命maven的目录骨架。

    【四】仓库和坐标:如何修改仓库位置,和坐标的基本概念

    【五】在eclipse安装和创建maven项目

    【六】生命周期,pom.xml以及依赖、聚合、继承:对pom中常用的标签进行了解析

    【七】eclipse中使用maven插件创建web项目和jetty插件的安装,并在jetty和tomcat容器中进行运行。

    查看全部
    0 采集 收起 来源:课程总结

    2019-06-19

  • 使用maven构建Web项目(介绍如何使用maven创建web项目,如何安装jetty插件和tomcat插件,并简介如何将项目打包到jetty和tomcat 中,并运行。)

    案例:

    描述:新建maven项目,这里使用webapp的模板(Group Id为org.apache.maven.archetypes,Artifact Id为maven-archetype-webapp),项目的Group Id为com.imooc.webdemo,Artifact Id为webdemo,项目里的index.jsp有×号,是因为没有ServletAPI的原因,所以需要在pom.xml中添加Servlet的依赖,打开浏览器进入maven的中央仓库,(https://mvnrepository.com/)搜索Servlet,点击3.0.1,将Servlet的坐标复制到pom中,为该坐标设置scope为provided,也就是说只在编译时和测试时运行,然后将junit的版本更改为4.10,接下来检查为我们创建的目录是否正确,只为我们创建了资源目录,所以按照maven的约定我们手动创建其他目录,在Java Resource下,只为我们创建了资源目录,按照maven的约定,手动创建其他目录,点击Java Resource选择New——>Source Folder,Project名为maven项目名,Folder name为src/main/java,然后再创建存放测试用例的目录,Folder name为src/test/java,如果无法创建目录,在Navigator视图下src的main下进行创建,再转到Explorer视图,进行更新Maven——>Update Project,这样存放资源文件的目录就显示出来了,接下来需要检查,classes文件的输出路径,项目上右键Build Path——>Configuration Build Path,点击source,如下图二为输出路径,确保它的输出路径为target/classes,接着要把项目转化成Web项目,项目上右键Properties——>Project Facets选上Dynamic Web Module,接下来需要修改部署时的默认配置,项目右键Properties——>Deployment Assembly,里面除了主代码的目录之外,测试目录的代码依旧是在发布时部署上去的,这里要将其删除,因为最终发布产品时,我们并不需要这些测试的文件,这样一个Web项目就创建成功了,访问的网址为:localhost:8080/webdemo/。

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

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


    使用package命令将其打包,也就是打成war包,然后将其拷贝到支持的web容器中,项目就可在浏览器中进行访问了,这里使用jetty作为web容器。

    首先在<builder>标签中添加jetty插件,jetty插件去maven的中央仓库中搜索Jetty Maven Plugin,使用的是最新的版本,把该插件的坐标复制到pom的<builder><plugins><plugin>标签中,然后启动一下,Run as——>Maven build,Goals输入jetty:run,如果控制台显示Started Jetty Server表明Jetty容器启动成功了,这样就可以在浏览器访问该项目了,访问http://localhost:8080/出现HelloWorld代表成功,如果想在打包的阶段直接运行jetty插件,可以在Jetty的坐标中添加<executions><execution>指定它的阶段,也就是package阶段运行目标,<phase>package</phase><goals>run</goal></execution></executions>目标为run如图三,在打包成功后使用jetty:run来运行jetty服务,然后右键项目,run as——>Maven build,Goals:输入clean package,访问localhost:8080出现hello world表示成功,如果要使用Tomcat作为容器,需要加入一个Tomcat的插件,进入Tomcat的官网,点击Maven Plugin,找到Version2.2,这里面有个例子,将它的坐标复制到pom中,如图4。

    https://img1.sycdn.imooc.com//5d098cf10001330412300194.jpghttps://img1.sycdn.imooc.com//5d0991c1000166b406270279.jpghttps://img1.sycdn.imooc.com//5d0994500001c82307120615.jpg

    查看全部
  • maven聚合和继承

    maven聚合:如果想在maven中将多个项目进行install,将其安装到本地仓库中,必须对其依次执行install命令,maven中有一种方式可以将其放到一起运行,这种方式称为聚合。

    案例:将山鸡、南哥、B哥聚合到本地仓库中,这里需要新建一个maven项目,依旧使用quickstart模板,Group Id为com.hongxing,Artifact Id为hongxing-aggreation,它作为其他pom的容器,需要修改它的pom的<package>为pom</package>,然后使用<modules><module>B哥的maven项目名</module><module>南哥的maven项目名</module><module>山鸡的maven项目名</module></modules>,然后右键hongxing-aggreation的Maven——>Maven build,Goals输入clean install控制台输出结果为三次构建,第一次生成B哥的jar,并且将其安装到本地仓库中,第二次生成南哥的jar,并且将其安装到本地仓库中,第三次生成山鸡的jar,并且将其安装到本地仓库中

    https://img1.sycdn.imooc.com//5d08d57400011a5f04630153.jpg继承:三个maven项目中都有一个共同的特点,就是都使用了junit,并且在每个项目的pom.xml中,都对其进行了配置,比如说b哥的maven使用了如下图,这样就出现了很多重复的地方,其实maven中可以想java中一样,将其共同的特性封装成一个父类,所以新建一个maven项目,Group Id为com.hongxing,Artifact Id为hongxing-parent,然后修改它的pom.xml,要将<dependencies>标签放置在<dependencyManagement>标签里,如果使用这个标签对依赖进行管理,它并不会在这个项目中运行,也可以将junit的版本号提取出来,在外面定义一个<properties>属性,并在该属性里通过<junit.version>设置junit的版本号,这样就可以在<dependencies>中的<version>中像使用EL表达式那样来调用它,${junit.version},最后将它的<package>改成pom,然后打开B哥的pom让其继承pom,这里就可以将junit的版本号进行删除,<scope>也可以删除掉,这里要使用到<parent>标签,然后引入我们的parent的maven的坐标,这样junit已经从父类parent,也就是pom中继承过来了。

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

    src目录依然有报错,其实test目录和main目录,对于parent的pom来说,是没有作用的,可以将其进行删除,然后更新一下它,Maven——>Update Project,这个叉号就消除了。

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

    查看全部
  • maven依赖冲突:如果有A(南哥)和B(B哥)依赖了一个不同版本相同的构件(commons-io),那么对于依赖于AB的C(山鸡哥)来说,它究竟依赖于A和B的哪一个版本的构件,这里有两条原则。

    原则1:短路优先:优先解析路径短的版本,加入有以下的依赖,假如有以下的依赖,A依赖B,B依赖C,C依赖X,X可以理解为一个jar。A依赖D,D依赖X。会优先解析路径短的这个版本。

    https://img1.sycdn.imooc.com//5d08cb62000152bf06640418.jpg案例:B哥依赖commons-io的2.4版本,南哥依赖的是commons-io的2.0版本

    描述:这里使用到了一个新的依赖,https://mvnrepository.com/输入commons-io,点击第一个,会出现很多的版本,使用2.4和2.0

    点击了这个版本之后,会出现该构件的坐标,为B哥复制的依赖时Commons-io的2.4版本

    原则2:先声明先优先:如果路径长度相同,则谁先声明,先解析谁

    案例2:

    南哥不在依赖B哥,所以删除南哥pom中依赖B哥的标签,山鸡哥同时依赖南哥和B哥,也就是说山鸡依赖的路径长度相同,但是依赖B哥的标签在依赖南哥标签的前面,这样就可以看到山鸡依赖的是B哥所依赖的jar包2.4。

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

    2019-06-18

  • maven依赖传递

    举例:古惑仔电影中,山鸡和南哥混,南哥和B哥混,对于山鸡而言就间接和B哥混了,换成程序而言,山鸡依赖南哥,南哥依赖B哥,山鸡就就依赖传递B哥了。

    案例:

    描述:新建3个maven项目,选择quickstart模板,第一个Group Id为com.hongxing,Artifact Id为hongxing-bge,Package为默认的,第二个Group Id为com.hongxing,Artifact Id为hongxing-nange,第三个Group Id为com.hongxing,Artifact Id为hongxing-shanji。

    步骤1:南哥依赖于B哥,南哥的pom.xml中进行配置,引入B哥的依赖,需要知道B哥的坐标,然后编译一下南哥,Maven——>Maven build(在Goals:compile)。

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

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

    南哥的maven项目首先会到本地仓库中进行查找B哥的jar包,如果本地仓库中没有,则会从远程中央仓库中下载,如果远程中央仓库中没有,则会报错,我们先将B哥进行打包,Maven——>Maven build(Goals:clean package),然后再将B哥安装到本地仓库中Maven——>Maven build(install),它依然会编译,并且会测试一遍,并且安装到指定的仓库中,接下来再对南哥进行编译Maven——>Maven build(clean compile),这样南哥就构建成功了

    步骤2:山鸡依赖于南哥,首先,要打包南哥的maven项目,并进行安装到本地仓库中Maven——>Maven build(clean install),依旧要找到南哥的坐标,然后编译一下山鸡Maven——>Maven build(compile)

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

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


    依赖具有传递性,山鸡的maven项目并没有依赖B哥,B哥的依赖缺自动的加入到了山鸡的依赖目录里。

    排除依赖:依赖南哥的<dependency>标签中添加<exclusions><exclusion>B哥的坐标<exclusions><exclusion>

    举例:山鸡只听从南哥的吩咐,不听其他人的吩咐,将B哥的依赖从山鸡的maven项目依赖中排除,。

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

    产生如下图JRE System Library为J2SE1.5的原因是:maven默认使用jdk1.5,我们可以将其修改,点击JRE System Library的Properties属性,选择JavaSE-1.7(jre7),这样修改比较麻烦每次创建一个项目都需要修改一下,可以修改settings.xml,找到<profiles>大概182行,加入如下图片的代码,指定它默认的jdk为1.7

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

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


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

    2019-06-18

  • maven依赖范围

    通过junit依赖来讲解依赖的范围<scope>

    https://img4.sycdn.imooc.com/5d084be0000199f903680219.jpg

    我们平时开发时,如果使用某一框架,就要引入相应的jar包到项目的classpath路径中,这样我们的项目就可以使用框架封装好的一些方法。

    maven中提供了三种classpath:

    1、编译

    2、测试

    3、运行

    而我们使用junit依赖范围的值为test,这就表明了junit只存在测试的classpath中,也就是存在测试的范围,所以依赖范围就是控制依赖与三种classpath的关系的。

    具体的scope的属性:查看maven官网(maven.apache.org),查看它的文档,点击Index (category),找到The Dependencies and Dependency Exclusions,找到Dependency Scope,提供了6种scope,分别是

    compile:默认的范围,如果没有指定依赖范围,就会使用此依赖的范围的maven依赖,编译测试运行这三种classpath都有效。

    provided:编译和测试时都有效,最后运行不会被加入(举了一个例子,当我们构建一个JavaEE的Web应用时,可以依赖ServletAPI,但是在最后运行时,并不会被加入,因为Web容器已经包含了这个API,如果再加入就会导致冲突)。

    runtime:在测试和运行时有效,典型的例子就是jdbc驱动的实现,项目的主代码的编译只需要jdk提供的jdbc的API,只有在执行测试或者运行项目的时候才需要实现生成接口的具体jdbc的驱动

    test:只在测试时有效,典型应用就是junit。

    system:和provided一样,编译和测试时有效,与本机系统相关联,可移植性差,比如要引用本机的Java_Home,如果把项目移植到其他系统上,就可能由于路径的不一致,而导致错误。

    import:导入的依赖范围,它只使用在dependencyManagement标签中,表示从其他的pom中继承过来的依赖。

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

    该文档提供了import的例子,将A中的依赖导入到B中。

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


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

    2019-11-14

  • 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


    查看全部
  • maven的生命周期和插件

    拓展:

    1、解决不能在eclipse项目中创建maven项目的解决办法:https://www.cnblogs.com/DreamDrive/p/5571913.html

    2、https://blog.csdn.net/weixin_42223248/article/details/80809499解决Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:3.0.2 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:3.0.2

    我们之前使用到clean、compiler、test、package、install,这几个命令对对象进行操作,这其实也对应了项目完整的构建过程。

    完整的项目构建过程包括:清理——>编译——>测试——>打包——>集成测试——>验证——>部署,等步骤。

    maven将这个过程进行了抽象,实际上maven和插件是密不可分的,maven抽象出了项目构建的生命周期,而插件是对maven抽象的具体实现,比如我们对项目进行编译,那么compiler就对应了maven compiler plugin。

    maven中定义三套独立的生命周期:分别包括clean、default、site,这三套生命周期是相互独立的,每个生命周期又包含一些阶段,各个生命周期的阶段是有顺序的,且后面的阶段依赖前面的阶段,执行每个阶段时,其前面的阶段会依次顺序执行,但不会触发另外两套生命周期的任何阶段,就好像之前使用到的package命令,该命令用于打包,虽然在运行package命令之前,并没有compile和test,但当我们运行package之后,它的compile和test是依次执行的,也就是运行package这个阶段时,compile和test会自动的运行。

    1、clean:目的是来清理项目,它又分为三个阶段。

    pre-clean执行清理前的工作

    clean清理上一次构建生成的所有文件

    post-clean执行清理后的文件

    2、default:目的是来构建项目(生命周期中最核心,包含了构建项目时所要执行的步骤),阶段比较多,常用阶段有以下几种。

    例如:compile test package install,默认都是default这个生命周期中的。

    3、site:生成项目的站点,会根据pom种的信息,自动生成一个站,它又分为以下几个阶段。

    pre-site:在生成项目站点前要完成的工作。

    site:生成项目的站点文档。

    post-site:在生成项目站点后要完成的工作。

    site-deploy:发布生成的站点到服务器上。

    eclipse支持java、C、C++、PHP等开发语言,eclipse中也可以使用它的sql插件来访问数据库,而eclipse的基本版本默认仅是支持java的,其它许许多多的功能都是由于第三方的插件来实现的,单单对maven而言,它没有什么执行业务的功能,它的下载包也非常小,maven中所有的命令也是调用这个插件来实现的,maven的官网中提供了很多的插件,在plugins都是它的插件。


    使用source插件:source插件可以将项目源码进行打包,需哟在pom.xml中加入一个插件如下图一,当运行target命令时,就可以将项目源码进行打包,所以要绑定source到default生命周期package阶段,如下图二,也就是说在这个阶段要运行source这个插件,至于目标可以查看maven官网source插件的目标,有五个目标,我们可以使用其中一个。如图三,然后run as——>maven build如下图4,当运行完package命令后,项目自动的帮我们完成了编译、测试、以及对该项目的打包,并且生成了source.jar包,说明对生命周期的阶段而言,执行某个阶段时,其前面的阶段会依次顺序的执行。

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

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


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

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

    拓展:

    【a】IntelliJ IDEA 可以参考这篇文章
    https://liuyanzhao.com/6012.html

    【b】给大家推荐 一个中央库 http://www.mvnrepository.com/ 重点是可以自动把坐标写好了 直接复制就好了。

    【c】给你们个博客看看
    https://www.cnblogs.com/hongwz/p/5456578.html

    【d】eclipse配置jdk以适应maven,感觉讲的太复杂了绕晕了。
    推荐:https://blog.csdn.net/nmjuzi/article/details/82352624

    【e】https://blog.csdn.net/GDUTACMA2011149/article/details/50993257解决Could not calculate build plan:Plugin org.apache.maven.plugins:maven-resources



    查看全部
  • <scope>classpath范围,只能用于什么范围</scope>

    compile:默认的范围,编译测试运行都有效

    provided:在编译和测试有效

    runtime:在测试和运行时有效

    1. 编译

    2. 测试(test)范围有效

    3. 运行

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

    2019-06-11

  • <project>:他包含了pom的约束信息

    <modelVersion>指定了pom的版本</modelVersion>

    <packaging>maven项目打包的方式,不指定默认是jar包,还可以war包,zip包</packaging>

    <name>项目的描述名</name>

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

    <description>项目描述</dscription>

    <developes>开发的人员的信息</developes>

    <licenses>许可证信息</licenses>

    <organization>组织信息</organization>


    <dependencies>依赖列表

    <dependencies>

        依赖项(可以包含多个)

        依赖项用坐标确定依赖的位置

        <groupId></groupId>

            ...

            <type>类型</type>

            <scope>依赖的范围(test(只能在test里面用))</scope>

            <optional>设置依赖是否可选(默认是false)</optional>

            <executions>

                    排除依赖的传递列表(可以排除多个依赖)

                    <execution ><execution>

            </executions>

    </dependencies>

    <dependencyManagementy>依赖的管理</dependencyManagementy>

    <build>

        插件列表

        <plugins>

            <plugin>坐标</plugins>

        </plugins>

    </build>

    <parent>用于子模块对父模块的pom的继承</parent>

    <modules>指定多个模块一起编译</modules>



    查看全部
  • <groupId>项目的包名</groupId>

    <artifactId>模块名</artifactId>

    <version>版本号</version>

    查看全部
  • 一、eclipse中安装maven插件(如果eclipse是4.0以上或者myEclipse就不用安装插件了)

    1、插件放置在eclipse中的dropins文件夹下,并重启eclipse。

    2、Maven需要jdk支持,而eclipse已经添加了jre,根据提示修改eclipse.ini。

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

    3、eclipse-ini文件中

    512m下添加-vm

    再在底下添加jdk的bin目录的路径+javaw.exe

    4、修改eclipse默认的jre(eclipse运行在JRE之上,maven使用到了JRE的支持,所以要修改eclipse的JRE,使其可以找到JDK,使用目录中私有的JRE,这样就能完全解决这个问题,默认的JRE没有一些包)

    Preferences——>Java——>Installed JREs——>Add——>我们安装JDK的位置

    Preferneces——>Maven——>Installations——>Add——>我们安装的Maven的位置

    5、修改User Settings(找到settings.xml)

    二、创建Maven项目

    1、目录模板选择maven-archetype-quickstart

    2、运行Maven项目——》右键run as——》Maven Builder——》输入compile点击run即可

    3、Maven打包——》右键run as——》Maven Builder——》package(打包之后在项目根目录中就会有一个target文件夹,该文件夹下就会有该jar包


    查看全部

举报

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

微信扫码,参与3人拼团

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

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