2016-06-23 7 views
2

Ich habe eine maven project erstellt und jetzt muss ich Abhängigkeiten zu meinem dynamic web project hinzufügen. Also habe ich die Abhängigkeiten in diesem spring tutorial genannten hinzugefügt.Maven: nicht analysierbar POM

Problem: ich das Parsen Ausgabe:

Project build error: Non-parseable POM C:\Users\username\Development\Spring\Projects\MyWebService\pom.xml: Duplicated tag: 'build' (position: START_TAG seen ...\r\n \r\n \r\n ... @60:10)

Mein pom.xml so aussieht:

<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 diese Zeile markiert:

enter image description here

Q frage: Warum ist es falsch, mehrere Repositories in der pom.xml zu haben?

Hinweis: Maven Version

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

Ihre pom.xml ist gut geformt, vielleicht ist es Eclipse Bug? Versuchen Sie, es neu zu starten, den Cache zu leeren usw. – user1516873

+1

Das Repository-Element wird vererbt. Daher würden Sie normalerweise die Repositorys angeben, die für eine Gruppe von Projekten verwendet werden sollen, indem Sie ein Repositories-Element am Anfang der Vererbungskette definieren. Ich glaube, Sie haben dieses Repository bereits in Ihrer Erbschaft deklariert: Überprüfen Sie Ihre anderen pom – Zeromus

+0

@Zeromus Vielen Dank für Ihren Hinweis. Ich habe ein anderes Projekt, das einige Federabhängigkeiten verwendet, aber das Repository nicht erbt. Wie kann ich erreichen, dass das Repository nur für das aktuelle Projekt vererbt wird? – jublikon

Antwort

4

Ich sehe, dass in Ihrem Fehler Sie \r\n \r\n \r\n haben.

Könnten Sie bitte sicherstellen, dass Ihre pom.xml korrekt in UTF-8 und nicht in ANSI codiert ist?

+1

Okay, habe das Problem. Die Datei war ein UTF-8 ohne BOM. Das Konvertieren in UTF-8 hat den Trick gemacht – jublikon

Verwandte Themen