标签:clean work size 新建 repo provided sources 名称 生成
Maven是一个项目管理工具,将项目分割成多个部分来开发,通过POM实现各部分的连接与合并。
传统开发中,依赖的架包需要下载后导入项目中,不仅寻找架包麻烦,更新时,还需要重新下载,更重要的是团队开发中,容易出现架包版本一致导致冲突的问题。Maven提供了一个网络仓库,仓库包含开发中用到的几乎全部架包,做简单的配置,就可以从仓库中获取架包,这个仓库叫做重要仓库,网址https://repo.maven.apache.org/maven2/。
本地仓库是本地一个保存从中央仓库获取的架包以及自建架包的地方,默认在本机C盘用户信息文件夹内。重装系统会导致C盘文件丢失,因此一般不将本地仓库放在C盘。
在Maven安装目录config文件夹内找到settings.xml文件,在<settings>标签内自定义本地仓库位置:
<localRepository>D:/Program Files/JAVA/Maven/repository</localRepository>
<groupId>com.maven.user</groupId> <artifactId>user-parent</artifactId> <version>0.0.1-SNAPSHOT</version>
maven坐标系是确定一个项目或者组件的信息,通常由三部分构成:
Maven需要在操作系统环境变量中配置,配置两个信息:一个可执行文件访问路径,一个Maven安装路径MAVEN_HOME。
配置文件如xml、properties文件,需要放到src/main/resources文件夹内,相当于放到类路径下,如果该目录不存在,手工创建。
如果一个组件需要引用另一个组件,在本组件中的pom.xml文件中添加被引用组件的maven坐标:
<dependencies> <dependency> <groupId>com.maven.user</groupId> <artifactId>user-dao</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies>
将多个组件集中起来管理称作聚合。选择创建简单项目,新建一个集中管理组件,通过如下方式添加管理对象:
<modules> <module>../user-dao</module> <module>../user-service</module> </modules>
每个组件都有自己的架包,如果架包由组件各自管理,容易出现冲突,因此可以将架包集中到一个组件中,其他组件继承该组件获取架包即可。
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-version}</version> </dependency> </dependencies> <dependencyManagement>
<properties> <spring-version>4.3.8.RELEASE</spring-version> </properties>
<parent> <groupId>com.maven.user</groupId> <artifactId>user-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../user-parent/pom.xml</relativePath> </parent>
子类继承父类,子类并未获取父类的架包,子类需要添加自身依赖的架包。由于父组件统一管理了版本,因此子组件在引用架包时不需要再指明版本:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency>
依赖范围就是组件依赖架包的生命范围。
准确地为架包设定依赖范围,不仅可以减小依赖体积,而且可以避免冲突。有些架包与运行环境冲突,必须设定为provided。
标签:clean work size 新建 repo provided sources 名称 生成
原文地址:http://www.cnblogs.com/tonghun/p/6962265.html