今天,突然想用maven来部署项目,于是几下笔记以待日后使用。
首先,官网下载maven。
然后解压,解压后配置环境变量。
打开cmd,测试安装成功与否:
如图表示maven安装成功;
后来在eclipse中使用maven:
首先找到conf中的seetings.xml文件:
然后,打开,将maven项目保存到本地指定的库如图:
在eclipse中配置maven:
注意不要配置错误。
之后新建一个maven项目:
这是它的目录结构:
打开pom.xml
然后尝试对maven项目进行compile,package等操作;
出现如图,表示成功:
接下来,就可以在pom.xml中添加一些maven的插件了,可以自己尝试尝试。
下面是pom.xml的一些解析,仅供参考:
每次新建的maven项目上都是显示这样,实际上我们使用的确是
,显示的很不舒服,如果项目已经建好,可以右键properties直接修改,若是新建项目,可以在setting.xml中修改,如图
maven 的依赖
如图,三个maven项目
B依赖A,C依赖B
在B中,注入A的依赖,如图
此时,run second的pom.xml: clean compile时会报错,说找不到first的jar包,所以,依赖注入后,需要先跑first的pom.xml: clean package进行打包,然后run: install,此时再跑second的:clean compile便可以成功。成功过程如图:
注入依赖后,对first操作:
再对first操作:
再对second操作:
最后便成功了:
third也是一样的操作。
最后发现,如图
third 依赖了first和second,这边是依赖的传递。
然后third表示不想依赖first,只依赖second,便需要加入exclusions,如图:
加入后,便发现first自动没了:
maven依赖冲突。
1.短路优先
① A->B->C->X(JAR)
② A->D->X(JAR)
此时优先路径短的版本即第②个。
2.先声明先优先
如果路径相同,谁先声明,先解析谁。
maven 聚合
首先新建一个maven项目:
此时再配置pom.xml,如图
主要修改<packaging>pom</packaging>,以及加moudles>
run :install后:
则成功!
maven 继承
在first,second,third三个项目中都用了junit,所以可以通过继承来减少jar包的调用
首先建一个maven项目:
修改parent 的pom.xml
注意版本号通过properties来设置。
其中src/test/java和src/main/java没有作用,可以删除,删除之后,通过maven ->update project就行。
修改完成后,打开first的pom.xml,进行修改如图:
second和third同理可得。
maven构建一个web项目
新建一个项目,此时选择webapp,如图:
会出现index.jsp报错,我将通过build path将tomcat包导入,没有的话,参考这个视频https://www.imooc.com/video/8684,
然后,修改pom.xml,如图:
完整项目的如图:
如此,便完成了一个项目的搭建。
通过maven->run :clean package可以得到(第一次会download很多插件,耐心等待即可):