วิธีแก้ปัญหา“ การดำเนินการปลั๊กอินไม่ครอบคลุมในการกำหนดค่าวงจรชีวิต” สำหรับ Spring Maven Builds Builds


907

ฉันพยายามที่จะทำงานร่วมกับข้อมูลฤดูใบไม้ผลิและ Neo4j ฉันเริ่มโดยพยายามทำตามคำแนะนำที่เชื่อมโยงกับเว็บไซต์หลัก โดยเฉพาะอย่างยิ่งฉันใช้ pom.xml จาก"Hello, World!" ไฟล์ตัวอย่าง นี่คือ snip จาก pom.xml ของฉันสำหรับปลั๊กอินที่ทำให้เกิดปัญหา ...

<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
            <aspectLibrary>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-neo4j</artifactId>
            </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <!-- ERROR HERE IN ECLIPSE SEE BELOW FOR FULL MESSAGE -->
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

ข้อผิดพลาดที่ฉันเห็นคือ:

 Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

ฉันกำลังใช้ Eclipse 3.6.2 และ m2e 0.13 ฉันไม่ใช่ผู้เชี่ยวชาญ Maven ดังนั้นโปรดอธิบายให้มากในคำตอบของคุณถ้าเป็นไปได้

ฉันได้ลองm2e 1.0.0ผ่านทางเว็บไซต์อัพเดทนี้แล้วและยังได้รับข้อผิดพลาดเดียวกัน


1
คุณใช้ Maven เวอร์ชันใดอยู่ Spring Data (กราฟ) ใช้ maven2 สำหรับกระบวนการสร้าง (ส่วนใหญ่เป็นเพราะปัญหาเกี่ยวกับ docbook-plugin) (BTW. โครงการข้อมูลฤดูใบไม้ผลิจะโยกย้ายไปตามระดับในไม่ช้า :)
Michael Hunger

1
สำหรับ eclipse ฉันใช้ maven รวม 3.0.3 (อะไรก็ตามที่มาพร้อมกับ m2e) ฤดูใบไม้ผลิทั้งหมดย้ายไปที่การไล่ระดับหรือเป็นเพียงแค่ข้อมูลฤดูใบไม้ผลิ?
Andrew White

1
ลืมเกี่ยวกับการทำงานกับ Groovy ช่างฝันร้ายอะไร ตอนนี้ฉันไม่สามารถใช้อินดิโก้ได้เนื่องจากการเลียนแบบนี้
Spencer Kormos

ทุกคนสามารถแชร์ลิงก์ไปยังสถานที่ที่มีโหมดการทำงานใหม่สำหรับ M2E ได้หรือไม่
HDave

คำตอบ:


1336

ในกรณีของฉันมีปัญหาที่คล้ายกันแทนที่จะใช้คำแนะนำของ Andrew สำหรับการแก้ไขมันทำงานได้หลังจากที่ฉันแนะนำแท็ก<pluginManagement>ให้กับ pom.xml ที่เป็นปัญหา ดูเหมือนว่าข้อผิดพลาดนั้นเกิดจากแท็ก <pluginManagement> ที่ขาดหายไป ดังนั้นเพื่อหลีกเลี่ยงข้อยกเว้นใน Eclipse คุณจะต้องใส่แท็กปลั๊กอินทั้งหมดไว้ในแท็ก<pluginManagement>เช่น:

<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>

เมื่อโครงสร้างนี้เข้าที่แล้วข้อผิดพลาดก็จะหายไป


29
ใช้งานได้สำหรับฉันด้วย แต่ทุกคนสามารถอธิบายได้ว่าทำไม
Andrew Swan

89
@Andrew ผมคิดว่างานนี้เพราะ M2E ไม่ได้มองหาปลั๊กอินในแต่เฉพาะในpluginManagement build/pluginsในโลก Maven มีความแตกต่างระหว่างทั้งสอง - อดีตกำหนด "ถ้าคุณใช้ปลั๊กอินนี้นี่คือการกำหนดค่าที่จะใช้" ในขณะที่รัฐหลังใช้ "ปลั๊กอินนี้" ดูโพสต์นี้และคำตอบสองอันดับแรก
GreenGiant

30
ฉันเห็นด้วยกับ @GreenGiant ฉันลองใช้วิธีนี้ แต่มันก็หยุดการคอมไพล์เนื่องจากส่วนกว้าง ๆ ของปลั๊กอินไม่ได้ถูกเรียกก่อนการคอมไพล์
ปิแอร์

25
ไม่ถูกต้องสำหรับฉัน แก้ไขข้อผิดพลาดใน Eclipse แต่แบ่งการสร้างรหัส WS ด้วย <goal> wsimport โดยใช้ jaxws-maven-plugin "ทำเครื่องหมาย wsimport เป้าหมายอย่างถาวรใน pom.xml ตามที่ละเว้นใน Eclipse build"ดูเหมือนว่าจะเพิ่มเนื้อหาเพิ่มเติมใน pom.xml และแก้ไขสำหรับ m2e
หลานชาย

33
เอ่อ ... ดูเหมือนว่าจะใช้งานได้เพราะมันปิดปลั๊กอินทั้งหมดที่มีปัญหา ... การถอดออกทั้งหมดก็ใช้ได้ แต่ฉันคิดว่าพวกมันอยู่ในนั้นด้วยเหตุผลหรือไม่? ผู้พัฒนาควรตรวจสอบให้แน่ใจว่าพวกเขาเข้าใจสิ่งที่พวกเขากำลังทำกับ maven ก่อนที่จะใช้ "การแก้ไข" นี้
Michael Haefele

413

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

<build>
      ... various plugins ...

      <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse 
                m2e settings only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

มีปัญหาอื่น ๆ อีกมากมายเกี่ยวกับปลั๊กอิน M2Eclipse ที่ไม่สามารถใช้งานได้กับ Spring Data ในที่สุดฉัน M2Eclipse คนพิการในความโปรดปรานของApache Eclipse plug-in ที่


3
ที่เก็บปลั๊กอินใดที่โฮสต์ org.eclipse.m2e: ปลั๊กอิน lifecycle-mapping
Nathan Feger

6
หาก eclipse ของคุณไม่พบ org.eclipse.m2e: lifecycle-mapping plugin เป็นเพราะคุณวาง snippet ด้านบนในรายการปลั๊กอินที่ไม่ถูกต้องใน pom มันต้องอยู่ภายใต้ pluginManagement
mkraemerx

65
หมายเหตุ: m2e 1.x สามารถทำสิ่งนี้ได้โดยอัตโนมัติในรูปแบบการแก้ไขด่วนจากมุมมองปัญหา
Brad Cupit

7
ขอบคุณ: m2e เสนอ 'quickfix' ให้กับปลั๊กอินที่ฉันไม่รู้จักซึ่งสร้างทั้งหมดข้างต้นยกเว้นด้วย <ละเว้น /> แทนที่จะเป็น <execute /> มันไม่มีตัวเลือก <execute /> ซึ่งใช้ได้! คลั่ง!
laher

10
ใช่สิ่งที่ <pluginmanagement> อยู่ภายใต้ <build> คุณคิดว่าหน้า m2 จะพูดถึงเรื่องเล็กเรื่องนี้
jjohn

217

ใน Eclipse Luna 4.4.0 คุณสามารถเลือกที่จะละเว้นข้อผิดพลาดนี้ในการกำหนดค่าตามความชอบ

หน้าต่าง > การตั้งค่า > Maven > ข้อผิดพลาด / คำเตือน > การดำเนินการปลั๊กอินที่ไม่ครอบคลุมโดยการกำหนดค่าวงจร เลือกละเว้น / คำเตือน / ข้อผิดพลาดตามที่คุณต้องการ

นอกจากนี้ในการแก้ไขด่วน (Ctrl + 1) สำหรับข้อผิดพลาดนี้จะมีตัวเลือกในการทำเครื่องหมายเป้าหมายว่าถูกละเว้นในการสร้าง Eclipse ในการกำหนดค่าตามความชอบ Eclipse (ทดลอง)

pom.xmlนี้เป็นวิธีการทำความสะอาดเป็นมันไม่ได้ปรับเปลี่ยนของคุณ

คุณจะต้องทำโครงการMaven > Updateเพื่อแก้ไขข้อผิดพลาดเดียวกันในโครงการอื่นเช่นกัน


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

หน้าต่าง> การกำหนดค่าตามความชอบ> Maven> ข้อผิดพลาด / คำเตือน> การดำเนินการปลั๊กอินไม่ครอบคลุมการกำหนดค่าวงจรชีวิต เลือกละเว้น / คำเตือน / ข้อผิดพลาดตามที่คุณต้องการ แล้วก็ คลิกขวาที่โครงการคลิก Maven และอัปเดตโครงการจากนั้นข้อผิดพลาดจะหายไป


สมบูรณ์ ทำงานให้ฉันอย่างไม่มีที่ติ ขอบคุณสำหรับการแบ่งปัน.
Ajay Kumar

ฉันใช้มันด้วยใน eclipse 2020-03 ฉันไม่แน่ใจว่าทำไมข้อผิดพลาดออกมาในเวลานี้เมื่อฉันนำเข้าโครงการฉันทำอย่างน้อยสี่ครั้งในคอมพิวเตอร์เครื่องอื่นโดยไม่มีปัญหา ฉันใหม่เพื่อคราสฉันต้องบอกว่าฉันยังคงเข้าใจว่ามันสร้างสิ่งที่พวกเขาและเมื่อ :-D
Funder

นี่คือคำตอบที่ถูกต้อง ขอบคุณ ฉันใช้ Red Hat CodeReady Studio ซึ่งเป็นเครื่องมือที่ใช้ Eclipse
Igor Vuković

โปรแกรมประหยัดวัน .. :) วิธีนี้ใช้ได้ผลสำหรับฉัน
Jeetendra

นี่เป็นวิธีแก้ไขอย่างไร แทนที่จะ Eclipse บ่นว่ามันไม่ได้สร้างซอร์สโค้ดของฉัน (โดยตั้งค่าสถานะบรรทัดใน POM.XML ด้วย X สีแดงและข้อความแสดงข้อผิดพลาด "การดำเนินการปลั๊กอินไม่ครอบคลุมการกำหนดค่าวงจรชีวิต") ด้วยการเปลี่ยนแปลงนี้ Eclipse เพียงแค่ไม่สร้าง รหัสแหล่งที่มา.
mbmast

212

โซลูชันที่แนะนำจากเอกสารคู่มือ Eclipse m2e :

  1. ใช้การแก้ไขอย่างรวดเร็วเกี่ยวกับข้อผิดพลาดในpom.xmlและเลือกPermanently mark goal run in pom.xml as ignored in Eclipse build- สิ่งนี้จะสร้างรหัสสำเร็จรูปสำหรับคุณ

  2. หากต้องการแนะนำให้ Eclipse เรียกใช้ปลั๊กอินของคุณในระหว่างการสร้าง - เพียงแทนที่<ignore/>แท็กด้วย<execute/>แท็กในการกำหนดค่าที่สร้างขึ้น:

    <action>
        <execute/>
    </action>

    หรือคุณสามารถสั่งให้ Eclipse เรียกใช้ปลั๊กอินบนบิลด์ที่เพิ่มขึ้นเช่นกัน:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>

6
นอกจากนี้คุณสามารถเพิ่ม<runOnIncremental>false|true</runOnIncremental>ภายในแท็กดำเนินการเพื่อให้ eclipse เรียกปลั๊กอิน maven นี้ในการสร้างที่เพิ่มขึ้น
Matthias B

4
วิธีนี้ใช้ได้สำหรับฉันเช่นกัน แต่ไม่จำเป็นต้องดำเนินการตามขั้นตอนที่ 2) ของวิธีแก้ปัญหาที่เสนอ
Valerio Schiavoni

7
หากคุณไม่ทำเครื่องหมายว่า "เรียกใช้งาน" eclipse build จะไม่เรียกใช้งานการเรียกใช้ปลั๊กอินเหล่านั้น แต่อาจทำงานได้เช่นกัน
mrod

โปรดทราบว่าคุณยังสามารถเพิ่มทั่วโลกเพื่อคราสด้วย Permanently mark goal run in eclipse preferencesและการเปลี่ยนแปลง <ละเว้น> ไปที่ <รัน> ในการตั้งค่าคราส> Maven> ระยะเวลาการแมป> เปิดพื้นที่ทำงานวงจรแมปเมตาดาต้า
PhoneixS

2
ขอบคุณนี่เป็นทางออกที่แท้จริง การเพิ่มแท็ก <pluginManagement> จะปิดใช้งานปลั๊กอินเท่านั้น
user3804769

111

ดูhttps://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html

ในการแก้ปัญหาที่มีมานาน m2e 1.0 ต้องการคำแนะนำอย่างชัดเจนว่าจะทำอย่างไรกับปลั๊กอิน Maven ทั้งหมดที่ผูกติดอยู่กับเฟส "น่าสนใจ" ของวงจรชีวิตของการสร้างโครงการ เราเรียกคำแนะนำเหล่านี้ว่า "การทำแผนที่วงจรชีวิตของการสร้างโครงการ" หรือเพียงแค่ "การทำแผนที่วงจรชีวิต" เพราะพวกเขากำหนดวิธีที่ m2e จับคู่ข้อมูลจากไฟล์โครงการ pom.xml กับการกำหนดค่าโครงการและพฤติกรรมของพื้นที่ทำงาน Eclipse ระหว่างการสร้างพื้นที่ทำงาน Eclipse

การกำหนดค่าการแมปวงจรชีวิตการสร้างโครงการสามารถระบุได้ในโครงการ pom.xml สนับสนุนโดยปลั๊กอิน Eclipse และยังมีการกำหนดค่าเริ่มต้นสำหรับปลั๊กอิน Maven ที่ใช้กันทั่วไปบางตัวที่จัดส่งด้วย m2e เราเรียก "แหล่งข้อมูลเมตาของการทำแผนที่วงจรชีวิต" m2e จะสร้างตัวทำเครื่องหมายข้อผิดพลาดเช่นด้านล่างสำหรับการเรียกใช้ปลั๊กอินทั้งหมดที่ไม่มีการแมปวงจรชีวิตในแหล่งข้อมูลเมตาการแมปใด ๆ

Plugin execution not covered by lifecycle configuration:
org.apache.maven.plugins:maven-antrun-plugin:1.3:run
   (execution: generate-sources-input, phase: generate-sources)

m2e จับคู่การเรียกใช้ปลั๊กอินกับการกระทำโดยใช้ชุดปลั๊กอิน groupId, artifactId, ช่วงเวอร์ชันและเป้าหมาย มีสามการกระทำพื้นฐานที่ M2E สามารถสั่งให้ทำอย่างไรกับการดำเนินการปลั๊กอินเป็น - ไม่สนใจ , การดำเนินการและมอบหมายให้โครงการปรับแต่ง


93
นั่นคือคำอธิบายของปัญหาไม่ใช่วิธีแก้ปัญหาอย่างน้อยไม่ใช่อย่างที่ฉันสามารถทำได้และทำงานด้วย
แอนดรูว์ไวท์

53
คุณให้คำตอบด้วยตัวเองและสามารถพบได้ในหน้าที่ฉันเชื่อมโยงไปถึง หากพบว่าสำคัญกว่าที่จะเข้าใจว่าข้อผิดพลาดหมายถึงอะไร (และจากนั้นค้นหาวิธีแก้ไขได้อย่างง่ายดาย) แทนที่จะคัดลอก / วางตัวอย่างบางส่วน "วิทยาศาสตร์ที่ไม่มีมโนธรรมเป็นเพียงความพินาศของวิญญาณ" (François Rabelais)
Thomas Broyer

22
ขออภัย แต่ฉันเห็นด้วยกับแอนดรูใช้ปลั๊กอินนี้มีความซับซ้อนมากขึ้นแล้วมันควรจะเป็น ฉันเริ่มต้นแอปพลิเคชันใหม่และก่อนอื่นฉันคิดว่าปัญหาคือไฟล์ pow ของฉันเมื่อฉันลองใช้ pow ที่ฉันรู้ว่ามันควรใช้งานได้ฉันเห็นว่าปัญหานี้เกิดจาก m2e ขออภัยพวกฉันคิดว่าไฟล์ pow ที่ดีควรใช้งานได้ ไม่มีใครรู้ทุกอย่างเกี่ยวกับทุกอย่างฉันแค่ต้องการใช้ปลั๊กอินนี้ไม่ต้องการรู้ว่ามันทำงานอย่างไร
Nei

15
ฉันต้องยอมรับว่าสิ่งนี้ได้ไปในทางตรงกันข้ามของ Maven manifesto (เพื่อที่จะพูด) มันทำให้เป็นเรื่องง่ายซับซ้อนจนแม้แต่การอ่านทั้งหมดเกี่ยวกับมันฉันไม่สามารถทำให้มันทำงานได้ครึ่งเวลา ฉันจะค่อนข้างจะต้องจัดการกับไอ้งไก่งี่เง่าบางอย่างมากกว่าการจัดการกับปลั๊กอินที่ไม่ผูกพันกับวงจรชีวิตเมื่อพวกเขาควรจะ หากนี่เป็นวิธีการแก้ปัญหาชั่วคราวก็ดี ... แต่ให้แก้ไขเพราะมันเสียตอนนี้
Brill Pappin สุดยอด

13
ไม่ใช่ Maven ที่กำลังโหยหา สร้างจากงานบรรทัดคำสั่ง มันเป็นปลั๊กอิน m2eclipse (สร้างโดย Eclipse folk) ที่พ่นข้อผิดพลาดออกมา ฉันคิดว่าปัญหาคือ Maven มีวงจรชีวิตการสร้างที่แตกต่างจาก Eclipse ดังนั้นพวกเขาต้องการให้คุณทำแผนที่อย่างชัดเจน นั่นเป็นความอัปยศที่ยิ่งใหญ่ซึ่งหมายความว่าคุณจะไม่สามารถใช้ POM ได้อย่างที่เป็นอยู่ คุณต้องเพิ่มการแมปนี้เสมอ ...
Stijn de Witt

30

m2e 0.13 แนะนำการเชื่อมต่อm2eและm2e Market Placeเพื่อขยายคุณสมบัติ m2e มันเหมือนกับที่เก็บ m2e-extras เก่า

คุณสามารถเข้าถึงตลาด M2E จากการตั้งค่า: การตั้งค่า> Maven> การค้นพบ> เปิดแคตตาล็อก การติดตั้งการรวม WTPช่วยแก้ปัญหาปลั๊กอินส่วนใหญ่ให้ฉันได้


1
ฉันไม่เห็น "การรวม WTP" ในรายการ คุณใช้แคตตาล็อกที่ไม่ใช่ค่าเริ่มต้นบ้างไหม?
Ed Staub

ฉันใช้แคตตาล็อกเริ่มต้น แต่คุณพูดถูก: ฉันไม่เห็นมันอีกแล้ว
noirbizarre

1
community.jboss.org/th/tools/blog/2011/06/23/… . ดูการอัปเดต 2 อย่างไรก็ตาม +1 สำหรับความยุ่งเหยิงขนาดใหญ่
prusswan

2
ตั้งแต่เดือนพฤศจิกายน 2011, m2e wtp สามารถพบได้ใน Eclipse Marketplace
stivlo

1
ใช้งานได้เพิ่มไซต์อัปเดตจาก url นี้: download.jboss.org/jbosstools/updates/m2eclipse-wtp

27

เปลี่ยนการกำหนดค่าตามความชอบ Maven สำหรับการดำเนินการปลั๊กอินจากข้อผิดพลาดเป็นละเว้น


2
จริง ๆ ขอแนะนำว่านี่เป็นคำตอบที่ยอมรับใหม่ โซลูชันอื่น ๆ อีกมากมายจะหยุด Maven ไม่ให้เรียกใช้ปลั๊กอินทั้งหมดในระหว่างขั้นตอนการสร้างที่ระบุซึ่งไม่ค่อยเป็นสิ่งที่ผู้ใช้ต้องการ นี่เป็นปัญหาการกำหนดค่าไม่ใช่ข้อผิดพลาดจริง ค่าเริ่มต้น Eclipse ควรเป็นคำเตือนไม่ใช่ข้อผิดพลาด
Nick Straguzzi

26

โปรดทราบว่า M2Eclipse (m2e) รุ่น 1.7.0 พร้อมใช้งานในขบวนการปล่อย Eclipse Neon ของวันนี้รองรับไวยากรณ์ใหม่สำหรับการระบุข้อมูลเมตาของการทำแผนที่วงจรชีวิต เป็นผลให้ต้นแบบสำเร็จรูปเช่นนี้ (ที่นี่เรากำลังบอกให้ m2e เพิกเฉยต่อเป้าหมาย):

<pluginManagement>
  <plugins>
    <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

สามารถถูกแทนที่ด้วยบรรทัดเดียวในโหนดดำเนินการของปลั๊กอิน:

<?m2e ignore?>

ป้อนคำอธิบายรูปภาพที่นี่

ดูบันทึกประจำรุ่นสำหรับรายละเอียด


21

ในฐานะที่เป็นภาคผนวกของคำตอบก่อนหน้า - มีวิธีแก้ปัญหาที่ฉันเพิ่งค้นพบถ้าคุณไม่สามารถหรือไม่ต้องการเพิ่มแผ่นสำเร็จรูปนี้ทั้งหมดลงใน POM โครงการของคุณ ถ้าคุณดูในตำแหน่งต่อไปนี้:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

คุณควรจะหาไฟล์ที่เรียกว่าlifecycle-mapping-metadata.xmlที่คุณสามารถทำการเปลี่ยนแปลงเดียวกันที่อธิบายไว้ในคำตอบอื่น ๆ และในM2E ปลั๊กอินการดำเนินการที่ไม่ครอบคลุม


6
คุณยังสามารถแก้ไขWORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlไฟล์แทนการเล่นซอด้วยเหยือก Preferences > Maven > Lifecycle Mappingsรายละเอียดเพิ่มเติมสามารถพบได้ภายใต้ นอกจากนี้หากคุณเลือกแก้ไขด่วน"Mark goal xxxxx as ignored in Eclipse build in Eclipse preferences (experimental)"มันจะเพิ่มการเปลี่ยนแปลงที่จำเป็นทั้งหมดในไฟล์ด้านบน
Nufail

17

ฉันมีปัญหาเดียวกันกับ Eclipse v3.7 (Indigo) และ m2eclipse เป็นปลั๊กอิน Maven ของฉัน ข้อผิดพลาดได้รับการแก้ไขอย่างง่ายดายโดยระบุขั้นตอนการดำเนินการภายในข้อกำหนดปลั๊กอินอย่างชัดเจน ดังนั้น pom ของฉันมีลักษณะเช่นนี้:

<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>

                <configuration>
                    <timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
                </configuration>

                <executions>
                    <execution>
                        *<phase>post-clean</phase>*
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        ...

10
  1. ไปที่วิธีใช้> ติดตั้งซอฟต์แวร์ใหม่ ...
  2. ใช้สิ่งนี้ เก็บซอฟต์แวร์

    ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมาย "ติดต่อไซต์อัพเดททั้งหมดระหว่างการติดตั้งเพื่อค้นหาซอฟต์แวร์ที่จำเป็น"

  3. ติดตั้ง AJDT m2e Configurator

ที่มา: การอัพเกรดการรวม Maven สำหรับ SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)

สิ่งนี้ควรติดตั้ง ADJT โดยอัตโนมัติหากคุณไม่ได้ติดตั้งไว้ แต่ถ้าไม่มีให้ติดตั้ง AspectJ Development Tools (ADJT) ก่อนจาก "Indigo update site" (ตามเวอร์ชั่น Eclipse ของคุณ)

ข้อมูลเพิ่มเติมเกี่ยวกับเว็บไซต์เครื่องมือสำหรับการพัฒนา AspectJ


ฉันลองแล้ว แต่ฉันพบข้อผิดพลาด: Missing requirement: Maven Integration for AJDT (Optional) 0.13.0.201107281640 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.13.0.201107281640) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found
Mahmoud Saleh

Msaleh ลองคำตอบที่แก้ไขแล้วของฉัน
Hendy Irawan

9

ไปที่workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlสร้างแล้วlifecycle-mapping-metadata.xmlไฟล์และวางด้านล่างและโหลดการกำหนดค่าใหม่ด้านล่าง

หากคุณกำลังใช้ Eclipse 4.2 และมีปัญหาเกี่ยวกับการแมปและจะไม่ทำให้คุณยุ่งเหยิงpom.xmlสร้างไฟล์ใหม่lifecycle-mapping-metadata.xmlกำหนดค่าในWindows -> Preferences -> Lifecycle mapping (อย่าลืมกดรีโหลดเวิร์กสเปซพื้นที่ทำงานการแมปเมทาดาทาหลังจากเปลี่ยนไฟล์นี้ทุกครั้ง!) นี่คือตัวอย่างขึ้นอยู่กับeclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <goals>
                    <goal>create-timestamp</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>list</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <goals>
                    <goal>generate</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <goals>
                    <goal>compile</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>copy-dependencies</goal>
                    <goal>unpack</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.7,)</versionRange>
                <goals>
                    <goal>run</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>


        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <versionRange>[2.8,)</versionRange>
                <goals>
                    <goal>check</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>
</lifecycleMappingMetadata>

9

ฉันมีปัญหาเดียวกันกับครามและโครงการที่ต้องการสร้างแหล่ง Java จาก XSD
ฉันสามารถแก้ไขได้โดยจัดหาการทำแผนที่วงจรชีวิตที่ขาดหายไปดังที่อธิบายไว้ในหน้านี้


8

ฉันแก้ไขตามการโพสต์บล็อกการอัปเกรด Maven สำหรับ SpringSource Tool Suite 2.8.02.8.0

ทำตามคำแนะนำในส่วนที่เรียกว่า " เอ่อ ... โครงการของฉันไม่ได้สร้างอีกต่อไป " แม้ว่ามันจะมีไว้สำหรับ SpringSource Tool Suite ฉันใช้เพื่อแก้ไขการติดตั้ง Eclipse ปกติ ฉันไม่ต้องแก้ไขไฟล์ปอม


1
ทรัพยากรล่าสุดเพื่อเปลี่ยนกลับเป็น m2e รุ่นเก่าหรือ IDE ที่คุณใช้
Chepech


5

ข้อผิดพลาดนี้เกิดขึ้นกับนีออนเนื่องจากตัวเชื่อมต่อ m2e ที่ขาดหายไป การแก้ไข: ข้อผิดพลาดโฮเวอร์และเลือก - ค้นหาตัวเชื่อมต่อ m2e ใหม่

มันจะติดตั้งตัวเชื่อมต่อใหม่และนั่นก็คือ


4

ฉันกำลังใช้

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>test-compile</phase>
        .
        .
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

และเปลี่ยนเป็น

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
    <id>runSomeAntTasks</id>
    <phase>integration-test</phase>
        .
        .

        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

และข้อผิดพลาดก็หายไป อาจไม่แนะนำให้ผูกการดำเนินการกับขั้นตอนการคอมไพล์ทดสอบดังนั้นการค้นหาเฟสอื่นอาจเป็นโซลูชันสำรองเพื่อเพิ่มการกำหนดค่าการจัดการปลั๊กอินให้กับวงจรชีวิต Maven


4

ค้นหา WTP ได้ที่ไหน:

วางเมาส์ลงบน <ปลั๊กอิน> ใน pom.xml และ 'ค้นพบตัวเชื่อมต่อ m2e ใหม่'

ฉันติดตั้งพวกเขาทั้งหมดสิ่งที่ตรวจสอบเริ่มต้นและใช้งานได้


4

ฉันมีปัญหาเดียวกันหลังจากอัปเดต m2e และแก้ไขโดยติดตั้ง Maven Integration สำหรับ Eclipse WTP อีกครั้ง

ตามที่ปรากฎฉันถอนการติดตั้งพยายามอัปเดต m2e จากเวอร์ชัน 0.x เป็น 1.x


3

ฉันมีปัญหานี้ในวันนี้ ฉันใช้ STS 3.4 กับ Roo 1.2.4 ที่ให้มา หลังจากนั้นฉันลองกับ Eclipse Kepler และ Roo 1.2.5 ข้อผิดพลาดเดียวกัน

ฉันเปลี่ยน pom.xml ของฉันเพิ่มแท็ก pluginTemplates หลังจากสร้างและก่อนประกาศปลั๊กอิน แต่ใช้งานไม่ได้

อะไรที่ทำให้ฉันมีเวทมนตร์:

  • ใช้ jdk 1.7.0_51
  • ดาวน์โหลด Roo 1.2.5
  • ดาวน์โหลด Maven 3.2.1 (หากไม่ใช่เมื่อเรียกใช้งาน "perform eclipse" ข้อผิดพลาดนี้จะปรากฏขึ้น "error = 2 ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว")
  • กำหนดค่าไดเรกทอรี JDK, Roo และ Maven bin บน PATH ของฉัน:

    ส่งออก PATH = / opt / jdk1.7.0_51 / bin: $ PATH ส่งออก PATH = / opt / spring-roo-1.2.5.RELEASE / bin: $ PATH ส่งออก PATH = / opt / apache-maven-3.2.1 / bin : $ PATH

ทำให้การกำหนดค่าของฉันเป็นดังนี้: ( http://docs.spring.io/spring-roo/reference/html/beginning.html )

$ mkdir hello 
$ cd hello
$ roo.sh
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT 
roo> web mvc setup
roo> perform eclipse

เปิดด้วย Eclipse (ไม่มี STS แต่ฉันเดาว่ามันใช้งานได้): นำเข้า -> โครงการที่มีอยู่ในพื้นที่ทำงาน


2

ฉันพบปัญหาเดียวกันอย่างแน่นอนกับปลั๊กอินความประหยัด maven นี่คือโซลูชันของฉันซึ่งไม่จำเป็นต้องทำให้ pom.xml ของคุณยุ่ง:

  1. ใช้ยูทิลิตี้บรรทัดคำสั่ง maven mvn

    mvn eclipse: eclipse

    เพื่อสร้างโครงการ eclipse

  2. อิมพอร์ตโปรเจ็กต์ใน eclipse จำไว้ว่าให้ใช้

    ไฟล์> นำเข้า> ทั่วไป> โครงการที่มีอยู่ในเวิร์กสเปซ

    เพื่อเพิ่มโครงการลงในพื้นที่ทำงานของคุณ

สิ่งนี้ควรแก้ไขปัญหา


2

แทนที่จะทำให้ไฟล์ pom ของคุณสับสนฉันขอแนะนำให้คุณไปที่Show ViewMarkers in Eclipse เลือกและลบเครื่องหมายข้อผิดพลาดที่เหมาะสม


Grrr ฉันเกลียดที่จะต้องเลือกระหว่างสองสิ่งชั่วร้าย การเพิ่มคะแนนของบรรทัดขยะไป pom = ไม่ดี วิธีการของคุณ = ยังไม่ดีเพราะมันปรากฏขึ้นอีกครั้ง (ทุกครั้งที่คุณช่วยปอม) และฉันต้องบอกทุกคนว่ามันโอเค
Iain

1

หากคุณกำลังใช้ Eclipse Juno อาจเป็นปัญหาของMaven Integration สำหรับ Eclipse WTPWTP ดังนั้นติดตั้งเหมือนกันจาก Eclipse Market Place

ใน Eclipse IDE Help >> Eclipse Market Place >> พิมพ์เคียวรี wtp และจะแสดงการรวม maven สำหรับ eclipse WTP สำหรับ Juno ติดตั้งและอัพเดตการพึ่งพา maven และเพลิดเพลิน


1

ฉันได้รับข้อผิดพลาดเดียวกัน หลังจากทำสิ่งต่อไปนี้แล้วมันก็หายไป

  1. คลิกขวาที่โครงการ
  2. เลือก Maven> อัปเดตโครงการ ...

1

คำตอบนี้เป็นคำตอบที่ดีที่สุดในการจัดการปลั๊กอินด้านบน (ซึ่งก็คือมันแย่มาก)

เพียงลบรหัส xml ที่ละเมิดทั้งหมดใน pom

เสร็จสิ้น แก้ไขปัญหา (ยกเว้นคุณเพิ่งทำลาย maven config ... )

ผู้พัฒนาควรใช้ความระมัดระวังอย่างยิ่งพวกเขาเข้าใจแท็กการจัดการปลั๊กอินก่อนที่จะดำเนินการแก้ไขปัญหาเหล่านี้ เพียงตบการจัดการปลั๊กอินรอบ ๆ ปลั๊กอินของคุณเป็นแบบสุ่มมีแนวโน้มที่จะทำลายการสร้าง maven สำหรับคนอื่นเพียงเพื่อให้ eclipse ทำงานได้



1

เปลี่ยนแปลง

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>

เข้าไป

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>

แก้ไขปัญหาให้ฉัน


1

ฉันพบสิ่งนี้โดยใช้ Eclipse v4.3 (Kepler) และ Maven 3.1

วิธีแก้ไขคือใช้ JDK ไม่ใช่ JRE สำหรับโครงการ Eclipse ของคุณ ตรวจสอบให้แน่ใจว่าได้ลองmaven cleanและทดสอบจาก Eclipse เพื่อดาวน์โหลดไฟล์ JAR ที่หายไป


1

ฉันทำตามคำใบ้ GUI เพื่อค้นหาตัวเชื่อมต่อแล้วฉันก็พบ AspectJ Integrator จากทีม SpringSource หลังจากการติดตั้งมันถูกตัดสิน


0

สำหรับฉันสิ่งนี้เกิดจากคลาส AspectJ ฉันไม่พบปลั๊กอินภายใต้ Discovery ที่สามารถช่วยได้ ดังนั้นฉันจึงแก้ไขได้โดยคัดลอกไฟล์ org.maven.ide.eclipse.ajdt ภายใต้ปลั๊กอินและโฟลเดอร์คุณลักษณะของการติดตั้ง STS ที่มีอยู่

ฉันรู้ว่าวิธีการหยาบคายมาก

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