java - 为什么我看到这个 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>
解决方案
那一点:
预期的根元素“项目”但找到了“html”
...让我想起了我曾经见过的一个非常棘手的问题。您是否在使用 Artifactory 或 Nexus 或类似的东西来缓存资源的公司环境中?可能存在防火墙问题,导致您的存储库缓存解决方案获得“此网站已被阻止”页面并将其视为 POM。
尝试在文本编辑器中打开 .m2 目录中的相关 POM 文件,看看它是否看起来可能是从防火墙返回的 HTML。
我曾经在 Artifactory 上发生过这件事(但它是一个依赖项的 JAR 文件,而不是 POM)。
推荐阅读
- c++ - Cppcheck 无法识别命令
- python - 根据不同条件填充df的NaN值
- google-cloud-platform - 是否可以与 Cloud Run 或 Cloud run on Anthos 兼容 FedRAMP(或者我们是否必须迁移到 GAE)?
- python - 使用 Python 在 Azure 存储 blob 中创建 PDF 文件的最佳方法是什么?
- c++ - 从文件或 cin 和 cout 读取和写入
- sql - BigQuery:使用子查询和内部联接的计数更新行
- python - 如何使 xml 文件打开 cv 可读?
- python - 给定一个整数数组,找出其中不存在至少 1 个数字(来自前 k 个数字)的最大子数组的长度
- docker - docker容器空间不足
- reactjs - 在 React-Recoil 中将对象添加到嵌套数组