一.为什么要用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----编译

Maven 项目管理

     Maven 项目管理    Maven 项目管理

mvn clean ----清理

Maven 项目管理


mvn test ----测试

mvn package ---编译打包

因为我们这个是web项目,所以打出来的是war包,jar包其实就是jar包,这就是war包和jar的区别.

Maven 项目管理  Maven 项目管理

mvn install ----发布本地仓库里面  也可以到私服仓库里面

其实我们在用dubbo的时候,dubbo内部也是通过mvn install打包到私服仓库,然后在通过远程调用.

我之前还写过一篇关于打包的博文,非常的麻烦,但是对于我们理解maven也有很大的帮助,大家可以看一下

idea导出jar包,并通过maven引入jar包

Maven 项目管理  Maven 项目管理


四:maven命令打包,另一个项目进行依赖

1.用idea的控制台输入 mvn install进行编译打包

Maven 项目管理

2.maven本地仓库已经出现了打包的文件

Maven 项目管理

3.新建一个java项目,然后打强制转换成maven项目

Maven 项目管理

Maven 项目管理

Maven 项目管理

4.打开第一个打包的项目,将里面的pom文件拷贝出来

Maven 项目管理

5.maven引入依赖

Maven 项目管理

6.修改idea的maven的配置文件路径

Maven 项目管理

7.修改完后,刷新maven,成功引入

Maven 项目管理

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>



相关文章: