解决Maven工程(springBoot)子模块中pom.xml开头出现Unkown error的问题

解决Maven工程(springBoot)子模块中pom.xml开头出现Unkown error的问题

问题背景

最近在学习Spring Boot过程中通过eclipse创建了一个Maven工程,然后基于此Maven工程创建了一个子模块项目,及Maven Module项目,但是在Maven Module项目的pom.xml开头出现了Unkown error的红色小叉,如下图:
在这里插入图片描述
在这里插入图片描述
其中,父级Maven工程的pom.xml的内容如下:

<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>

	<groupId>com.wongoing</groupId>
	<artifactId>base-microserver</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>

	<name>base-microserver</name>
	<url>http://maven.apache.org</url>
	
	<modules>
		<module>base-eureka</module>
	</modules>

	<!-- 使用属性设置编译工具的版本和项目的编码方式 -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
        <maven-compiler.version>3.1</maven-compiler.version>
        <maven-surefire.version>2.12.4</maven-surefire.version>
    </properties>
    <!-- 使用父级配置,设定Spring Boot和Spring Cloud的版本 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-parent</artifactId>
        <version>2.1.5.RELEASE</version>
    </parent>

	<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>

    <!-- 配置starter -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
	
	<!-- 使用统一的插件配置,如果模块中没有相关的构建配置,将默认使用这个配置 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler.version}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire.version}</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

子级Maven Module的pom.xml内容如下:

<?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>com.wongoing</groupId>
		<artifactId>base-microserver</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	
	<artifactId>base-eureka</artifactId>
	
	<dependencies>
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
	</dependencies>
</project>

问题分析

通过从网上查找相关问题发现,大部分这种Unkown Error问题主要是由于当前Maven的版本对依赖库的版本不支持导致的。还发现有些朋友直接在创建基于Maven的Spring Boot项目是就出现了这个问题,解决办法是把Spring Boot的版本降低一些。我现在的问题是在主Maven工程中的pom.xml中配置的spring boot依赖,但是在子模块的pom.xml中报错。虽然对这个解决思路持怀疑态度,但是也不妨一试。

问题解决

1、修改主Maven工程中pom.xml的spring boot版本2.1.5.RELEASE为2.1.4.RELEASE,并保存,等待工程编译结束。
2、鼠标右键Maven子模块项目,在弹出菜单中选择Maven->Update Project,等待更新结束。
经过这2部操作发现子模块的pom.xml中的Unkown error小红叉消失了,且子工程的小红叉也消失了,一切都正常了,如下图:
在这里插入图片描述
至此,这个问题完美解决,希望对使用eclipse开发spring boot的朋友有所帮助。

发布了138 篇原创文章 · 获赞 303 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/zlbdmm/article/details/105367360
今日推荐