Maven:无法解析的POM

6
我已经创建了一个maven项目,现在我需要向我的动态Web项目添加依赖项。因此,我添加了spring教程中提到的依赖项。 问题:我遇到了解析问题:

项目构建错误:无法解析的POM C:\Users\username\Development\Spring\Projects\MyWebService\pom.xml: 重复的标签:'build'(位置:START_TAG看到...\r\n \r\n \r\n ... @60:10)

我的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.0</modelVersion>
    <groupId>MyWebService</groupId>
    <artifactId>MyWebService</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.5.RELEASE</version>
    </parent>

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

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <warSourceDirectory>WebContent</warSourceDirectory>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-releases</id>
            <name>Spring Releases</name>
            <url>https://repo.spring.io/libs-release</url>
        </repository>
        <repository>
            <id>org.jboss.repository.releases</id>
            <name>JBoss Maven Release Repository</name>
            <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>spring-releases</id>
            <name>Spring Releases</name>
            <url>https://repo.spring.io/libs-release</url>
        </pluginRepository>
    </pluginRepositories>


</project>

eclipse标记了那一行:

enter image description here

问题:为什么在pom.xml中有多个仓库是错误的?

注意:Maven版本

Name: EMPEDDED, Details: 3.3.9/1.7.0.20160603-1931 - for Name: WORKSPACE, Details: NOT AVAILABLE [3.0,) 

2
你的pom.xml格式良好,可能是Eclipse的bug?尝试重新启动它,清除缓存等。 - user1516873
1
repositories元素是继承的,因此通常通过在继承链的顶部定义repositories元素来指定一组项目要使用的repositories。我猜您已经在继承链中声明了该存储库:请检查其他pom文件。 - Zeromus
你在Eclipse中使用的Maven版本是什么? - Mickael
名称:嵌入式,详情:3.3.9 / 1.7.0.20160603-1931 - 对于名称:工作空间,详情:不可用[3.0,) - jublikon
@MickaelB 我正在使用Spring Tool Suite。版本:3.7.3.RELEASE 构建ID:201602251025 平台:Eclipse Neon(4.6)- 我应该怎么做才能解决这个问题?我已经重新启动了Eclipse并清理了项目。不幸的是,它们都没有帮助我。 - jublikon
显示剩余2条评论
3个回答

7

我看到你的错误信息中有\r\n \r\n \r\n

请确保你的pom.xml文件使用的是UTF-8编码而不是ANSI编码。


1
好的,问题解决了。该文件是UTF-8无BOM格式的。将其转换为UTF-8格式就解决了问题。 - jublikon

1
尝试按以下方式更改最新版本的Spring Boot:
<parent>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-parent</artifactId>  
    <version>2.0.2.RELEASE</version>
</parent>

0

我曾经遇到过类似的问题,使用Eclipse时,在注释掉一个依赖项并恢复它后出现了问题。检查编码是否为UTF-8,恢复原始POM,更新/重建项目,但这些都没有帮助。

解决错误的方法是退出并重新进入Eclipse。

感谢@user1516873在问题帖子中提供的建议/评论。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接