解决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工程(springBoot)子模块中pom.xml开头出现Unkown error的问题_第1张图片
解决Maven工程(springBoot)子模块中pom.xml开头出现Unkown error的问题_第2张图片
其中,父级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.0modelVersion>

	<groupId>com.wongoinggroupId>
	<artifactId>base-microserverartifactId>
	<version>0.0.1-SNAPSHOTversion>
	<packaging>pompackaging>

	<name>base-microservername>
	<url>http://maven.apache.orgurl>
	
	<modules>
		<module>base-eurekamodule>
	modules>

	
    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
        <java.version>1.8java.version>
        <spring-cloud.version>Greenwich.SR1spring-cloud.version>
        <maven-compiler.version>3.1maven-compiler.version>
        <maven-surefire.version>2.12.4maven-surefire.version>
    properties>
    
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-parentartifactId>
        <version>2.1.5.RELEASEversion>
    parent>

	<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-dependenciesartifactId>
                <version>${spring-cloud.version}version>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>

    
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starterartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-actuatorartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
    dependencies>
	
	
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>${maven-compiler.version}version>
                <configuration>
                    <source>${java.version}source>
                    <target>${java.version}target>
                configuration>
            plugin>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-surefire-pluginartifactId>
                <version>${maven-surefire.version}version>
                <configuration>
                    <skipTests>trueskipTests>
                configuration>
            plugin>
        plugins>
    build>
project>

子级Maven Module的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.0modelVersion>
	
	<parent>
		<groupId>com.wongoinggroupId>
		<artifactId>base-microserverartifactId>
		<version>0.0.1-SNAPSHOTversion>
	parent>
	
	<artifactId>base-eurekaartifactId>
	
	<dependencies>
		<dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
        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小红叉消失了,且子工程的小红叉也消失了,一切都正常了,如下图:
解决Maven工程(springBoot)子模块中pom.xml开头出现Unkown error的问题_第3张图片
至此,这个问题完美解决,希望对使用eclipse开发spring boot的朋友有所帮助。

你可能感兴趣的:(STS,eclipse,spring,cloud)