使用Maven项目管理Spring

205 阅读2分钟

前序

在前面新建的项目中,项目依赖的第三方jar包都在项目的类路径下(通常是lib目录)

直观的看,我们无法知道这些jar包的依赖关系,比如导入一个特定的jar包时,可能此jar包还依赖于其他的jar包,其他的jar包又依赖于更多的jar包,这也是平常遇到的ClassNotFound异常的主要原因。 为了解决此问题,我们需要一个项目构建工具,目前主流的项目构建工具有:Maven、Gradle等。此处我们介绍Maven。

新建Maven项目

(1)GroupID是项目组织唯一的标识符,它由域名.公司名.项目名组成。 比如项目名为SpringMaven 则GroupID应该是 com.on1.SpringMaven;

(2)ArtifactID则是项目名。

GroupID和ArtifactID统称为“坐标”是为了保证项目唯一性而提出的,你可以通过这两个id来查找放入maven本地仓库的项目

添加archetypeCatalog = internal可以加快maven生成速度

最后生成项目结构为:

在main文件下创建java,resources和test文件夹,对创建的文件右键->make Directory as,将java文件设置为源码文件夹,resources设置为资源文件夹,test设置为测试源码文件夹。

pom文件

每一个Maven项目都有一个pom.xml文件用来管理项目的依赖以及项目的编译等功能。

dependency元素

内部通过groupId、artifactId、version确定唯一的依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.1.10.RELEASE</version>
</dependency>

dependencies元素

项目依赖使用的多个< dependency>< /dependency>就放在dependencies元素中。

properties元素

properties元素定义的通用版本号可以在dependency元素中使用。

<properties>
    <java.version>1.8</java.version>
    <spring-framework.version>4.3.18.RELEASE</spring-framework.version>
</properties>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring-framework.version}</version>
</dependency>

编译插件

Maven提供了编译插件,可在编译插件中设置Java的编译级别。 比如说tomcat插件

<build>
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <port>8080</port> <!-- 访问端口-->
        <path>/</path>    <!-- 访问路径-->
      </configuration>
    </plugin>
</build>