背景说明:我们使用创建spring cloud项目时,需要选择使用的spring boot版本,但是官方提供的往往是最新版本的spring boot版本,那么如果我们想使用老版本的spring boot怎么办呢?我们可以先使用新版本创建项目,然后在pom文件中修改对应的spring boot和spring cloud版本号。但是这可能带来新的问题,就是一些老版本的插件无法下载,笔者最近就碰到了这个问题,将spring boot项目版本号从2.1.3.RELEASE修改成2.0.0.M3后导致spring-boot-maven-plugin:2.0.0.M3插件无法下载,因为我们使用maven来管理我们的项目的时候,默认的配置文件中使用的仓库是maven的中央仓库,有些老版本的spring包在最新的maven仓库中找不到,那么碰到这种情况我们应该怎么解决呢?
解决方案:在pom.xml文件中引入spring的插件仓库,完整pom文件如下
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.M3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.kuangtengfei</groupId> <artifactId>eureka</artifactId> <version>0.0.1-SNAPSHOT</version> <name>eureka</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <spring-cloud.version>Finchley.M2</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>repository.spring.release</id> <name>Spring GA Repository</name> <url>https://repo.spring.io/plugins-release/</url> </pluginRepository> </pluginRepositories> </project>