10.1.1. Maven安装

Spring Boot兼容Apache Maven 3.2或更高版本。如果本地没有安装Maven,你可以参考maven.apache.org上的指南。

:在很多操作系统上,可以通过包管理器来安装Maven。OSX Homebrew用户可以尝试brew install maven,Ubuntu用户可以运行sudo apt-get install maven

Spring Boot依赖使用的groupId为org.springframework.boot。通常,你的Maven POM文件会继承spring-boot-starter-parent工程,并声明一个或多个“Starter POMs”依赖。此外,Spring Boot提供了一个可选的Maven插件,用于创建可执行jars。

下面是一个典型的pom.xml文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.example</groupId>
  6. <artifactId>myproject</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <!-- Inherit defaults from Spring Boot -->
  9. <parent>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-parent</artifactId>
  12. <version>1.4.0.BUILD-SNAPSHOT</version>
  13. </parent>
  14. <!-- Add typical dependencies for a web application -->
  15. <dependencies>
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. </dependencies>
  21. <!-- Package as an executable jar -->
  22. <build>
  23. <plugins>
  24. <plugin>
  25. <groupId>org.springframework.boot</groupId>
  26. <artifactId>spring-boot-maven-plugin</artifactId>
  27. </plugin>
  28. </plugins>
  29. </build>
  30. <!-- Add Spring repositories -->
  31. <!-- (you don't need this if you are using a .RELEASE version) -->
  32. <repositories>
  33. <repository>
  34. <id>spring-snapshots</id>
  35. <url>http://repo.spring.io/snapshot</url>
  36. <snapshots><enabled>true</enabled></snapshots>
  37. </repository>
  38. <repository>
  39. <id>spring-milestones</id>
  40. <url>http://repo.spring.io/milestone</url>
  41. </repository>
  42. </repositories>
  43. <pluginRepositories>
  44. <pluginRepository>
  45. <id>spring-snapshots</id>
  46. <url>http://repo.spring.io/snapshot</url>
  47. </pluginRepository>
  48. <pluginRepository>
  49. <id>spring-milestones</id>
  50. <url>http://repo.spring.io/milestone</url>
  51. </pluginRepository>
  52. </pluginRepositories>
  53. </project>

spring-boot-starter-parent是使用Spring Boot的一种不错的方式,但它并不总是最合适的。有时你可能需要继承一个不同的父 POM,或只是不喜欢我们的默认配置,那你可以使用import作用域这种替代方案,具体查看Section 13.2.2, “Using Spring Boot without the parent POM”