java - 为什么我会看到 Springboot starter 2.1.2 pom 不可解析问题?

标签 java spring maven spring-boot intellij-idea

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

Non-parseable 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: Expected root element 'project' but found '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>

最佳答案

那一点:

Expected root element 'project' but found 'html'

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

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

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

关于java - 为什么我会看到 Springboot starter 2.1.2 pom 不可解析问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54639220/

相关文章:

java - propertyplaceholderconfigurer类名替换问题

android - 使用 Maven 的 Google App Engine 端点

Maven命令行参数 "-B"

java - 断言列表不为空——有或没有 Hamcrest?

java - 了解 "this"在 Java 中的使用

java - JSP中模型属性的访问方法

Java - 具有 2 条腿 Oauth 的 Google Calendar API v3 配额

java - java web服务的推荐框架

Java静态关键字

java - Spring 按类顺序对 bean 进行排序