Error: Maven: Non parseable POM ... expected START_TAG or END_TAG not TEXT

Error: Maven: Non parseable POM ... expected START_TAG or END_TAG not TEXT

我这辈子都弄不明白。似乎根本不是一个难题。

POM:

错误行中红色下划线。

所以我将它放入 eclipse 中,它看起来不错

<?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>
    <groupId>CENSORED</groupId>
    <artifactId>NeoImport</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.neo4j.driver</groupId>
            <artifactId>neo4j-java-driver</artifactId>
            <version>1.0.3</version>
        </dependency>
    </dependencies>
</project>

在您的屏幕截图中,<?xml?> 的语法突出显示在最后关闭。你碰巧在第一行之前有一个换行符吗?

或者,如果您从其他地方复制粘贴的文本格式与您的 IDE 不同(即 UNIX/OSX 与 Dos/Windows),那么这也可能会导致问题。

如果你可以在你的本地构建你的项目,但你不能在 Jenkins 环境中构建:

  • 检查指定行是否有问题字符:

解决方案:在 np++ 等编辑器中打开 pom 文件以显示特殊字符并从代码中删除这些字符。

  • 如果不是,可能是SCM冲突。

解决方案:转到项目构建配置并更改源代码管理中的 "Check-Out Strategy"。 使用该策略首先清理结帐,而不仅仅是更新。 很可能它应该解决由于 SCM 冲突而可能出现的问题。

我遇到了类似的问题,但出现错误:

unexpected character in markup < (position: END_TAG seen ...</developerConnection>

通过剪切 developerConnection 的父元素并重新粘贴来解决它!

检查 POM.xml 中的特殊字符,如果发现则删除。