一.为什么要用maven?
1.管理jar包
2.解决版本冲突
3.远程仓库,本地仓库,私服仓库
4.rpc远程调用的时候,有的公司会把接口项目打包放在私服仓库.
二:maven的约定
maven的项目结构
src/main/java 存放项目的java文件src/main/resources 存放项目的资源文件,如spring,hibernate的配置文件
src/test/java 存放所有的测试的java文件 一般test文件是不需要提交的.
src/test/resources 存放测试用的资源文件
target 项目输出位置
pom.xml 文件
三:maven常用命令
mvn compile----编译
mvn clean ----清理
mvn test ----测试
mvn package ---编译打包
因为我们这个是web项目,所以打出来的是war包,jar包其实就是jar包,这就是war包和jar的区别.
mvn install ----发布本地仓库里面 也可以到私服仓库里面
其实我们在用dubbo的时候,dubbo内部也是通过mvn install打包到私服仓库,然后在通过远程调用.
我之前还写过一篇关于打包的博文,非常的麻烦,但是对于我们理解maven也有很大的帮助,大家可以看一下
四:maven命令打包,另一个项目进行依赖
1.用idea的控制台输入 mvn install进行编译打包
2.maven本地仓库已经出现了打包的文件
3.新建一个java项目,然后打强制转换成maven项目
4.打开第一个打包的项目,将里面的pom文件拷贝出来
5.maven引入依赖
6.修改idea的maven的配置文件路径
7.修改完后,刷新maven,成功引入
五:maven多模块统一版本以及使用远程仓库
<!--统一多模块的依赖版本--> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.RC1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <!--配置Maven项目中需要使用的远程仓库--> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>