首页 > 解决方案 > 为什么我看到这个 Springboot starter 2.1.2 pom 不可解析问题?

问题描述

我已经与 Spring 斗争了几个小时,试图让它解析一个 pom 文件。使用 spring 的 initilzr,我创建了一个具有所需依赖项的投影,如下面的 pom 所示。我已经对照 xml 格式化程序对其进行了检查,一切似乎都很好,但是它不想编译给出错误:

不可解析的POM /Users/mel22/.m2/repository/org/springframework/boot/spring-boot-starter-parent/2.1.2.RELEASE/spring-boot-starter-parent-2.1.2.RELEASE.pom:预期的根元素“项目”但找到了“html”

我尝试过很多事情,包括删除我的 .m2/repository、mvn clean install/package。

这是我的 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>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.ellismatt</groupId>
<artifactId>springrestapi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springrestapi</name>
<description>Spring REST Api project for Spring Boot</description>

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

</project>

标签: javaspringmavenspring-bootintellij-idea

解决方案


那一点:

预期的根元素“项目”但找到了“html”

...让我想起了我曾经见过的一个非常棘手的问题。您是否在使用 Artifactory 或 Nexus 或类似的东西来缓存资源的公司环境中?可能存在防火墙问题,导致您的存储库缓存解决方案获得“此网站已被阻止”页面并将其视为 POM。

尝试在文本编辑器中打开 .m2 目录中的相关 POM 文件,看看它是否看起来可能是从防火墙返回的 HTML。

我曾经在 Artifactory 上发生过这件事(但它是一个依赖项的 JAR 文件,而不是 POM)。


推荐阅读