เหตุใดฉันจึงได้รับข้อผิดพลาดที่ไม่รู้จักในบรรทัดที่ 1 ของ pom.xml


108

รับข้อผิดพลาดที่ไม่รู้จักที่บรรทัด 1 pom.xmlใน Eclipse IDE มันทำงานได้ดีจนถึงเมื่อวานนี้ แต่ทันใดนั้นหลังจากอัปเดตโปรเจ็กต์ของฉันจากมาสเตอร์และหลังจากแก้ไขข้อขัดแย้งในการผสานกลับได้รับ "ข้อผิดพลาดที่ไม่รู้จัก" ใน pom.xml ยกเว้นฉันไม่มีเพื่อนร่วมทีมคนไหนประสบปัญหานี้ ฉันยังเปลี่ยนพื้นที่ทำงานลบแคช แต่ยังไม่มีโชค

ฉันใช้ฐานข้อมูล h2 สำหรับโปรเจ็กต์นี้แม้ว่าจะแทรกค่าใน data.sql แต่ก็ไม่ได้รับค่าใด ๆ และแทรกลงในตารางฐานข้อมูล h2 ก่อนหน้านี้ปัญหานี้ใช้งานได้ดี ฉันรู้สึกว่ามันเกิดจากปัญหาใน pom.xml แต่ฉันไม่แน่ใจ กรุณาช่วย

ฉันลบโปรเจ็กต์ที่มีอยู่และรับโค้ดล่าสุดจากมาสเตอร์ หลังจากนั้นลบโฟลเดอร์. m2 ภายใต้ผู้ใช้รวมถึงโฟลเดอร์ที่เก็บ ฉันอัปเดตโปรเจ็กต์และเปิดใช้งานการอัปเดตสแน็ปช็อต / รีลีสบังคับ, maven clean และ maven build แต่ไม่มีอะไรช่วย

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>

    <groupId>com.abc.roster</groupId>
    <artifactId>spring-boot-roster-app</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>spring-boot-roster-app</name>
    <description>Demo project for Spring Boot Roster</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.0.BUILD-SNAPSHOT</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <!-- <start-class>com.infosys.roster.SpringBootRosterAppApplication</start-class> -->
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <!--encryption lib -->
        <dependency>
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt</artifactId>
            <version>1.9.2</version>
        </dependency>

        <dependency>
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt-springsecurity3</artifactId>
            <version>1.9.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</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-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>

        </dependency>


<!--        <dependency> -->
<!--         <groupId>org.hibernate</groupId> -->
<!--         <artifactId>hibernate-core</artifactId> -->
<!--         <version>5.2.10.Final</version> -->
<!--   </dependency> -->

        <!-- <dependency> -->
        <!-- <groupId>io.springfox</groupId> -->
        <!-- <artifactId>springfox-swagger2</artifactId> -->
        <!-- <version>2.7.0</version> -->
        <!-- <scope>compile</scope> -->
        <!-- </dependency> -->


        <!-- <dependency> -->
        <!-- <groupId>io.springfox</groupId> -->
        <!-- <artifactId>springfox-swagger-ui</artifactId> -->
        <!-- <version>2.7.0</version> -->
        <!-- <scope>compile</scope> -->
        <!-- </dependency> -->

        <!-- <dependency> -->
        <!-- <groupId>io.springfox</groupId> -->
        <!-- <artifactId>springfox-data-rest</artifactId> -->
        <!-- <version>2.7.0</version> -->
        <!-- </dependency> -->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>

</project> 

application.properties

server.port=
spring.h2.console.path=/h2
spring.h2.console.enabled=true

spring.datasource.url=


spring.datasource.username=
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.platform=h2
spring.datasource.initialization-mode=always

spring.jpa.hibernate.ddl-auto=update
spring.datasource.continue-on-error=true

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=false

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect

ควรลบข้อผิดพลาดที่ไม่รู้จักใน pom.xml และฉันต้องสามารถเติมค่าใน H2 db


คุณกำลังบอกว่าไม่มีใครมีปัญหากับไฟล์ pom เดียวกันหรือไม่?
Joakim Danielson

อัปเดตข้อผิดพลาดในการเข้าสู่ระบบคำถาม
vels4j

@JoakimDanielson ใช่ไม่มีใครในทีมของฉันกำลังประสบปัญหากับฐานรหัสที่ฉันใช้ มีเพียงฉันเท่านั้นที่ประสบปัญหานี้
Shravani

1
ฉันมีปัญหาเดียวกัน ฉันได้สร้างโปรเจ็กต์สปริงบูตใหม่หลายโปรเจ็กต์จากstart.spring.ioและหลังจากนำเข้าโปรเจ็กต์ไปยัง Spring Tool Suite ฉันได้รับ 'ข้อผิดพลาดที่ไม่รู้จัก' ในบรรทัดที่ 1 ของไฟล์ pom.xml ของฉัน นี่เพิ่งเริ่มต้นในสัปดาห์นี้
Stephen

1
@Stephen คุณยังคงประสบปัญหานี้อยู่หรือไม่ ฉันสามารถแก้ได้หลังจากเปลี่ยน <version> 2.2.0.BUILD-SNAPSHOT </version> เป็น <version> 2.1.4.BUILD-SNAPSHOT </version>
Shravani

คำตอบ:


157

ตอบตามสถานะปัจจุบัน

ปัญหานี้ได้รับการแก้ไข:

โปรดติดตั้งตัวเชื่อมต่อ m2e สำหรับปลั๊กอิน mavenarchiver 0.17.3 จากhttps://download.eclipse.org/m2e-wtp/releases/1.4/


คำตอบที่ล้าสมัย

การเปลี่ยนแปลงที่ลึกซึ้งน้อยกว่าการปรับลดจากฤดูใบไม้ผลิบูต2.1.5.RELEASEเพื่อ2.1.4.RELEASEจะได้รับการปรับลดเพียงปลั๊กอินได้รับผลกระทบ Maven JARจาก3.1.2ไป3.1.1ตราบใดที่ข้อผิดพลาดนี้มีอยู่:

<properties>
    <!-- ... -->
    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>

9
Eclipse ใหม่ล่าสุด (2019-03) มีปัญหาเดียวกัน การเปลี่ยน maven-jar-plugin จาก 3.1.2 เป็น 3.1.1 ตามคำแนะนำของคุณช่วยแก้ปัญหาได้ ขอบคุณมาก.
Miklos Krivan

6
คำตอบที่ล้าสมัยเป็นวิธีแก้ปัญหาที่เหมาะกับฉัน
Del Pedro

1
สำหรับบันทึกปัญหาของฉันได้รับการแก้ไขโดยการอัปเกรดปลั๊กอิน mavenarchiver
Matthias

2
หลังจากติดตั้งตัวเชื่อมต่อ m2e สำหรับปลั๊กอิน mavenarchiver ให้รีสตาร์ท maven & do maven -> อัปเดตโปรเจ็กต์ -> บังคับให้อัปเดตสแนปชอต
ASharma7

1
การติดตั้งขั้วต่อ m2e ล่าสุดสำหรับ mavenarchiver แก้ไขให้ฉัน
Ehsan Waris

36

สำหรับฉันฉันเปลี่ยนในแท็กหลักของ pom.xml และแก้ไขได้เปลี่ยน 2.1.5 เป็น 2.1.4 จากนั้น Maven-> อัปเดตโครงการ


2
เหมือนกันที่นี่! ยังไม่แน่ใจว่าอะไรในสปริงตัวแม่ที่ทำให้เกิดปัญหานี้ตั้งแต่ 2.1.5
light_303

@fsuwailih ขอบคุณอันนี้ใช้งานได้ แต่ฉันสงสัยว่าทำไมถึงใช้ได้กับบางคนเท่านั้น แต่ไม่ได้ผลกับคนอื่น
Shravani

วิธีนี้ใช้งานได้จริง! ฉันเปลี่ยนเป็น 2.1.4 จาก 2.1.6 แต่ทำไมรุ่นหลัง ๆ ถึงทำให้เกิดข้อผิดพลาดนั้น?
Arijit Basu

22

ตามคำแนะนำจาก @Shravani ในไฟล์ pom.xml ของฉันฉันเปลี่ยนหมายเลขเวอร์ชันในพื้นที่จากสิ่งนี้:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

สำหรับสิ่งนี้:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

จากนั้นฉันก็คลิกขวาที่โครงการและทำการ 'Maven -> Update project ... ' สิ่งนี้ทำให้ปัญหาหายไปสำหรับฉัน


19

เพิ่ม 3.1.1 ในคุณสมบัติเช่นด้านล่างกว่าแก้ไขปัญหา

<properties>
        <java.version>1.8</java.version>
        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>

เพียงอัปเดตโครงการ => คลิกขวา => Maven => อัปเดตโครงการ


ปัญหานี้ดูเหมือนจะปรากฏจาก maven-jar-plugin 3.1.2 & 3.2.0
Jean-Christophe

14

มีบั๊กเกี่ยวกับ Eclipse และ spring-boot-starter-parent 2.1.5

"ถ้าแอตทริบิวต์บรรจุภัณฑ์ maven เป็นสงครามก็ไม่มีปัญหาปัญหาอยู่ในประเภท jar" ดังนั้นคุณสามารถแก้ไขปัญหานี้ได้ด้วยการเปลี่ยนประเภทบรรจุภัณฑ์

<packaging>war</packaging>

สิ่งนี้ทำเพื่อฉัน
ยอห์น

8

คุณต้องที่จะปรับตัวเชื่อมต่อ M2E เป็นข้อบกพร่องที่ทราบ แต่มีวิธีแก้ไข

  1. ลงใน Eclipse clic "Help"> "Install new Software ... "

  2. ปรากฏหน้าต่าง ในหน้าต่าง "ติดตั้ง":

    2a. ในช่องป้อนข้อมูล "ทำงานกับ" ป้อนตำแหน่งไซต์ถัดไปแล้วกด Enter https://download.eclipse.org/m2e-wtp/releases/1.4/

    2b. ปรากฏข้อมูลจำนวนมากในช่องป้อน "ชื่อ" เลือกรายการทั้งหมด

    2 ค. คลิกปุ่ม "ถัดไป"

เสร็จสิ้นการติดตั้งและรีสตาร์ท Eclipse


1
ฉันพบว่าคำแนะนำเหล่านี้เป็นเส้นทางที่ชัดเจนที่สุดในการใช้โซลูชันที่ทุกคนบอกว่าเป็นปัญหาต้นเหตุจำเป็นต้องอัปเกรดตัวเชื่อมต่อนี้ นอกจากนี้ยังใช้งานได้ : ^)
รวย


1

แม้ว่าฉันจะไม่สามารถสร้างข้อผิดพลาดของคุณซ้ำได้ (เนื่องจากเพื่อนร่วมทีมของคุณไม่มีใครสามารถทำได้) แต่ฉันมีข้อเสนอแนะที่อาจช่วยคุณได้

คุณเคยได้ยินByte Order Markหรือไม่? ตามที่ปรากฏในบรรทัดที่ 1 อาจเป็นตัวเลือกสำหรับปัญหาของคุณ บางทีคุณอาจเปลี่ยนการตั้งค่าบางที่ซึ่งนำไปสู่ข้อผิดพลาด คำพูดนี้จากบทความ Wikipedia มีความเกี่ยวข้องเป็นพิเศษฉันคิดว่า:

การใช้ BOM เป็นทางเลือก การมีอยู่ของมันรบกวนการใช้ UTF-8 โดยซอฟต์แวร์ที่ไม่คาดหวังไบต์ที่ไม่ใช่ ASCII ที่จุดเริ่มต้นของไฟล์ แต่สามารถจัดการกับสตรีมข้อความได้


หลังจากเปลี่ยนเวอร์ชันสำหรับแท็กหลักแล้วมันทำงานได้อย่างน่าอัศจรรย์
Shravani

1

ปัญหาเดียวกันสำหรับฉันรหัสเดิมจากการสาธิตสปริงสตาร์ทให้ข้อผิดพลาดที่ไม่รู้จักในบรรทัดที่ 1:

<?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.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
...

การเปลี่ยนแค่เวอร์ชัน 2.1.6 ปล่อยเป็น 2.1.4 การปล่อยออกมาช่วยแก้ปัญหาได้


1

สำหรับผมผมเปลี่ยนในแท็กแม่ของpom.xmlและจะแก้ไขได้แล้วchange 2.1.5 to 2.1.4 Maven-> Update Projectมันใช้ได้ผลสำหรับฉันด้วย


1

สำหรับฉันการเปลี่ยน pom.xml สำหรับโปรเจ็กต์ SpringBoot 2 จาก 2.1.6.RELEASE

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.REL`enter code here`EASE</version>
        <relativePath /> <!-- lookup parent from repository -->
</parent>

เป็น 2.1.4 RelEASE ตรวจสอบแล้วและใช้งานได้

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
</parent>

ฉันหมายถึง 2.1.4 ปลดปล่อย
PatVictorio

แก้ไขคำตอบของฉันและแก้ไขการพิมพ์ผิด
PatVictorio

0

พบข้อผิดพลาดนี้ใน eclipse IDE เวอร์ชัน 4.10, Spring boot 2.2.0.M4 เปลี่ยนเวอร์ชัน Spring boot เป็น 2.2.0.M2 (หลังจากแนะนำวิธีแก้ไขปัญหาอื่น ๆ และแก้ไขข้อผิดพลาด) อาจมีบางอย่างขาดหายไปหรือเสียในโมดูลโปรเจ็กต์ Spring boot starter เวอร์ชันล่าสุด maven POM


0

ในไฟล์ pom.xml ของฉันฉันต้องดาวน์เกรดเวอร์ชันจาก 2.1.6 รีลีสสำหรับสิ่งประดิษฐ์ spring-boot-starter-parent เป็น 2.1.4

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
</parent>

ที่จะเปลี่ยนเป็น

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
</parent>

และข้อผิดพลาดแปลกประหลาดที่ไม่รู้จักหายไป



0

คุณต้องมีชุดเครื่องมือ Eclipse หรือ Spring เวอร์ชันล่าสุด 4.5 ขึ้นไปไม่มีอะไรอื่นรีเฟรชโปรเจ็กต์และใช้งานได้


0

ผมได้รับข้อผิดพลาดเดียวกันในรุ่น 3 มันทำงานหลังจากอัพเกรด STS กับรุ่นล่าสุด: 4.5.1.RELEASE ไม่จำเป็นต้องมีการเปลี่ยนแปลงรหัสหรือการกำหนดค่าใน STS ล่าสุด


0

เมื่อใดก็ตามที่คุณพบข้อผิดพลาดประเภทนี้เพียงแค่เปลี่ยนรุ่นที่วางจำหน่ายเช่นเดียวกับในกรณีของฉันมันแสดงข้อผิดพลาดใน 2.2.7 ฉันเปลี่ยนเป็น 2.2.6

ปัญหา:

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

สารละลาย:

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


-1

การดำเนินการต่อไปนี้ได้ผลสำหรับฉัน

1. ไปที่โครงการในแถบเครื่องมือ -> ยกเลิกการเลือก "สร้างอัตโนมัติ"

2. ในไฟล์ POM ให้ดาวน์เกรดเวอร์ชันสปริงบูตเป็น 2.1.4 RELEASE

3. คลิกขวาที่ชื่อโครงการ -> เลือก Maven -> คลิกที่ "อัปเดตโครงการ" -> ตกลงรอจนกว่าการพึ่งพา maven ทั้งหมดเพื่อดาวน์โหลด (ต้องการอินเทอร์เน็ต)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.