การเรียกใช้ปลั๊กอินไม่ครอบคลุมโดยการกำหนดค่าวงจรการใช้งาน (รูปแบบ JBossas 7 EAR)


124

ฉันใช้ Eclipse 3.7 Indigo กับ Maven M2E Plugin 1.0.100

การใช้โมเดล JBoss 7.x JavaEE 6 EAR pom สำหรับ EAR ทำให้ฉันมีข้อผิดพลาดนี้:

การเรียกใช้ปลั๊กอินไม่ครอบคลุมโดยการกำหนดค่าวงจรชีวิต: org.apache.maven.plugins: maven-ear-plugin: 2.6: create-application-xml (การดำเนินการ: default-create-application-xml, phase: create-resources)

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-ear-plugin</artifactId>
   <version>2.6</version>
   <configuration>
      <!-- Tell Maven we are using Java EE 6 -->
      <version>6</version>
      <!-- Use Java EE ear libraries as needed. Java EE ear libraries 
                  are in easy way to package any libraries needed in the ear, and automatically 
                  have any modules (EJB-JARs and WARs) use them -->
      <defaultLibBundleDir>lib</defaultLibBundleDir>
      <modules></modules>
   </configuration>
<plugin>

คำตอบ:


139

นี่คือ "คุณลักษณะ" ของปลั๊กอิน M2E ที่ได้รับการแนะนำเมื่อไม่นานมานี้ ไม่เกี่ยวข้องโดยตรงกับปลั๊กอิน JBoss EAR แต่ยังเกิดขึ้นกับปลั๊กอิน Maven อื่น ๆ ส่วนใหญ่

หากคุณมีการเรียกใช้ปลั๊กอินที่กำหนดไว้ในของคุณpom(เช่นการเรียกใช้งานmaven-ear-plugin:generate-application-xml) คุณต้องเพิ่มข้อมูลการกำหนดค่าเพิ่มเติมสำหรับ M2E ที่บอก M2E ว่าจะทำอย่างไรเมื่อบิลด์รันใน Eclipse เช่นหากการเรียกใช้ปลั๊กอินถูกละเว้นหรือดำเนินการโดย M2E ควรทำด้วยสำหรับการสร้างแบบเพิ่มหน่วย ... หากข้อมูลนั้นหายไป M2E จะบ่นโดยการแสดงข้อความแสดงข้อผิดพลาดนี้:

"การเรียกใช้ปลั๊กอินไม่ครอบคลุมโดยการกำหนดค่าวงจรการใช้งาน"

ดูคำอธิบายโดยละเอียดที่นี่และตัวอย่างการกำหนดค่าบางส่วนที่ต้องเพิ่มใน pom เพื่อให้ข้อผิดพลาดนั้นหายไป:

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


70
@ ฉันไม่เข้าใจแนวคิด M2E ควรโปร่งใสสำหรับผู้ใช้ ทำสิ่งที่บรรทัดคำสั่ง Maven ทำ แต่จากภายใน eclipse ไม่ควรมีอยู่ในข้อมูล config pom เพื่อบอก M2E ว่าต้องทำอย่างไร ถ้าเป็นเช่นนั้นแสดงว่าเป็นการออกแบบที่ไม่ดี BTW บางครั้งข้อผิดพลาดเหล่านี้จะหายไปใน Eclipse และ M2E เวอร์ชันใหม่กว่า
แร็

8
ฉันเห็นด้วยกับ rapt POM ของฉันไม่มีการพึ่งพา m2e และฉันต้องการเพิ่มตอนนี้เพราะฉันใช้ Eclipse เป็น IDE ของฉัน นั่นเป็นการหลอกลวงผู้อื่นที่ทำงานในโครงการเดียวกันซึ่งอาจใช้ IDE อื่นเช่น IntelliJ หาก m2e ต้องการคำแนะนำเหล่านี้ควรเป็นส่วนหนึ่งของการกำหนดค่า m2e ภายใน Eclipse
วิลเลียม

12
บางเป้าหมายไม่สมเหตุสมผลขณะอยู่ใน Eclipse เช่นฉันมีโครงการที่แตกไฟล์ ZIP ไปยังtargetโฟลเดอร์ คุณไม่ต้องการให้ทำซ้ำ "ทีละน้อย" เมื่อบันทึกไฟล์ต้นฉบับแต่ละไฟล์ หรือบางทีคุณอาจไม่ต้องการที่ จริงๆแล้ว m2e ไม่มีความคิดเกี่ยวกับงานสร้างเฉพาะของคุณ คุณสามารถจัดเก็บสิ่งที่ m2e ควรทำใน Eclipse, POM หรืออาจติดตั้งขั้วต่อ m2e ที่เพิ่มความรู้เพิ่มเติมให้กับ m2e เพื่อจัดการขั้นตอนการสร้าง นี่คือตัวเลือกที่คุณควรเห็น ฉันเข้าใจว่าคุณไม่ต้องการให้ POM m2e-ทราบ แต่เป็นสถานที่ที่ดีในการกำหนดค่าจากส่วนกลางสำหรับ devs ทั้งหมดของคุณ
Sander Verhagen

3
ปัญหาคือเอกสารที่เชื่อมโยงสำหรับสิ่งนี้เช่นเอกสารส่วนใหญ่ใน Maven หรือ Eclipse คือ abcacadabra ไม่ว่าพวกเขาจะพยายามอธิบายให้ชัดเจนแค่ไหนคำอธิบายนั้นอยู่บนแนวคิดที่มากเกินไปซึ่งฉันในฐานะผู้ใช้ Maven ที่ค่อนข้างใหม่ไม่เข้าใจและไม่รู้ว่าจะค้นหาอย่างไร - ทุกสิ่งที่ฉันพบมีปัญหาเดียวกัน: ไม่ได้อธิบายมากเกินไป แนวคิด เทคโนโลยีซับซ้อนเกินไปหรือเอกสารมีการจัดระเบียบไม่ดีเกินไป ไม่ว่าในกรณีใดเส้นโค้งการเรียนรู้จะสูง คำตอบที่นี่เพิ่มความชัดเจนอย่างมาก
Reinierpost

10
@RicardoGladwell คุณเข้าใจผิดจุดประสงค์ของการโหวตลด ลูกศรระบุว่า "คำตอบนี้ไม่มีประโยชน์" - และนั่นไม่เป็นความจริงสำหรับคำตอบนี้ ดังนั้นแม้ว่าคุณจะไม่ชอบน้ำเสียงที่เขียนคำตอบนี้ แต่การลงคะแนนก็ไม่ได้ถูกเรียกร้องให้
Dawood ibn Kareem

44

อย่างไรก็ตามมันสายเกินไป แต่วิธีแก้ปัญหาของฉันคือคลิกขวาที่ข้อความแสดงข้อผิดพลาดใน Eclipse และเลือก Quick Fix >> ละเว้นสำหรับทุก pom ที่มีข้อผิดพลาดดังกล่าว


3
มันยังไม่สายเกินไป. ฉันเพิ่งแก้ไขปัญหาด้วยวิธีนี้!
Reinierpost

2
ฉันด้วย. งานวิจัยทั้งหมดนี้และพยายามทำความเข้าใจว่าปัญหานี้ทำให้ฉันปวดหัวขนาดไหนฉันจึงเพิกเฉยต่อไป :) ขอบคุณ
dleerob

1
สิ่งนี้ได้ผลสำหรับฉัน ฉันสงสัยว่ามันสร้างสิ่งที่อธิบายโดยคำตอบของ @ Jan โดยอัตโนมัติซึ่งชี้ไปที่eclipse.org/m2e/documentation/m2e-execution-not-covered.htmlเนื่องจากการเปลี่ยนแปลงเดียวที่ฉันเห็นหลังจากที่ฉันยอมรับการแก้ไขด่วนคือการเปลี่ยนแปลงของปอม XML
Michael Osofsky

ฉันลองอีกครั้งในเครื่องอื่นและปัญหาหายไปเมื่อฉันอัปเกรดจาก JBehave 3.9.4 เป็น 3.9.5 เนื่องจากเป็นปลั๊กอิน JBehave ในกรณีของฉันนั่นคือการสร้างข้อผิดพลาด (ฉันได้สร้างการกำหนดค่าปลั๊กอินจากแม่แบบ JBehave Maven ( jbehave.org/reference/stable/archetypes.html ))
Michael Osofsky

30

Eclipse มีแนวคิดในการสร้างแบบเพิ่มหน่วยสิ่งนี้มีประโยชน์อย่างไม่น่าเชื่อเนื่องจากช่วยประหยัดเวลาได้มาก

สิ่งนี้มีประโยชน์อย่างไร

สมมติว่าคุณเพิ่งเปลี่ยนไฟล์. java ไฟล์เดียว ตัวสร้างส่วนเพิ่มจะสามารถคอมไพล์โค้ดได้โดยไม่ต้องคอมไพล์ใหม่ทุกอย่าง (ซึ่งจะใช้เวลามากขึ้น)

ตอนนี้ปัญหาของ Maven Plugins คืออะไร

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

นี่คือเหตุผลว่าทำไม m2e จึงต้องอาศัยข้อมูลเมตาดาต้าเพื่อหาวิธีจัดการกับการดำเนินการ m2e มีตัวเลือกต่าง ๆ เพื่อให้ข้อมูลเมตาดาต้านี้และลำดับความต้องการมีดังนี้ (สูงสุดไปต่ำสุด)

  1. pom.xml ของโครงการ
  2. parent, grand-parent และอื่น ๆ ในไฟล์ pom.xml
  3. ค่ากำหนดพื้นที่ทำงาน [m2e 1.2+]
  4. ติดตั้งส่วนขยาย m2e
  5. [m2e 1.1+] ข้อมูลเมตาการแมปวงจรการใช้งานที่จัดทำโดยปลั๊กอิน maven
  6. ข้อมูลเมตาการแมปวงจรอายุเริ่มต้นที่มาพร้อมกับ m2e

1,2 หมายถึงการระบุส่วน pluginManagement ในแท็กของไฟล์ pom ของคุณหรือในส่วนของผู้ปกครอง M2E อ่านคอนฟิกูเรชันนี้เพื่อกำหนดคอนฟิกโปรเจ็กต์ข้อมูลโค้ดด้านล่างจะแนะนำให้ m2e ละเว้นjslintและcompressเป้าหมายของปลั๊กอิน yuicompressor-maven-plugin

<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>net.alchim31.maven</groupId>
                                    <artifactId>yuicompressor-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>compress</goal>
                                        <goal>jslint</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

3) ในกรณีที่คุณไม่ต้องการให้ไฟล์ pom ของคุณเป็นมลพิษด้วยข้อมูลเมตานี้คุณสามารถจัดเก็บไฟล์นี้ไว้ในไฟล์ XML ภายนอก (ตัวเลือกที่ 3) ด้านล่างนี้เป็นไฟล์การแมปตัวอย่างซึ่งสั่งให้ m2e ละเว้นjslintและcompressเป้าหมายของปลั๊กอิน yuicompressor-maven

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>yuicompressor-maven-plugin</artifactId>
                <versionRange>[1.0,)</versionRange>
                <goals>
                    <goal>compress</goal>
                    <goal>jslint</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore/>
            </action>
        </pluginExecution>
    </pluginExecutions>
</lifecycleMappingMetadata>

4) ในกรณีที่คุณไม่ชอบตัวเลือก 3 ตัวนี้คุณสามารถใช้ตัวเชื่อมต่อ m2e (ส่วนขยาย) สำหรับปลั๊กอิน maven ได้ตัวเชื่อมต่อจะให้ข้อมูลเมตาแก่ m2e คุณสามารถดูตัวอย่างข้อมูลเมตาดาต้าภายในเครื่องมือเชื่อมต่อที่ลิงค์นี้ คุณอาจสังเกตเห็นว่าข้อมูลเมตาหมายถึงตัวกำหนดค่า นั่นหมายความว่า m2e จะมอบหมายความรับผิดชอบให้กับคลาส java ที่จัดทำโดยผู้เขียนส่วนขยายผู้กำหนดค่าสามารถกำหนดค่าโครงการ (เช่นพูดว่าเพิ่มโฟลเดอร์ซอร์สเพิ่มเติมเป็นต้น) และตัดสินใจว่าจะเรียกใช้ปลั๊กอิน maven จริงในระหว่างการสร้างที่เพิ่มขึ้นหรือไม่ (ถ้า ไม่ได้รับการจัดการอย่างเหมาะสมภายในตัวกำหนดค่าอาจนำไปสู่การสร้างโครงการที่ไม่มีที่สิ้นสุด)

อ้างอิงลิงก์เหล่านี้สำหรับตัวอย่างของการกำหนดค่า ( link1 , link2 ) ดังนั้นในกรณีที่ปลั๊กอินเป็นสิ่งที่สามารถจัดการผ่านตัวเชื่อมต่อภายนอกคุณสามารถติดตั้งได้ m2e เก็บรักษารายการของตัวเชื่อมต่อดังกล่าวที่มีให้โดยนักพัฒนารายอื่นสิ่งนี้เรียกว่าแค็ตตาล็อกการค้นพบ m2e จะแจ้งให้คุณติดตั้งตัวเชื่อมต่อหากคุณยังไม่มีข้อมูลเมตาการทำแผนที่อายุการใช้งานสำหรับการดำเนินการผ่านตัวเลือกใด ๆ (1-6) และแค็ตตาล็อกการค้นพบมีส่วนขยายบางอย่างที่สามารถจัดการการดำเนินการได้

ภาพด้านล่างแสดงวิธีที่ m2e แจ้งให้คุณติดตั้งตัวเชื่อมต่อสำหรับ build-helper-maven-plugin ติดตั้งตัวเชื่อมต่อที่แนะนำจากแค็ตตาล็อกการค้นพบ.

5) m2e สนับสนุนให้ผู้เขียนปลั๊กอินสนับสนุนการสร้างที่เพิ่มขึ้นและจัดหาการแมปวงจรชีวิตภายในปลั๊กอิน maven เองซึ่งหมายความว่าผู้ใช้จะไม่ต้องใช้การแมปวงจรการใช้งานหรือตัวเชื่อมต่อเพิ่มเติมผู้เขียนปลั๊กอินบางคนได้นำสิ่งนี้ไปใช้แล้ว

6) โดยค่าเริ่มต้น m2e จะเก็บข้อมูลเมตาการทำแผนที่วงจรชีวิตสำหรับปลั๊กอินที่ใช้กันทั่วไปเช่น maven-compiler-plugin และอื่น ๆ อีกมากมาย

ตอนนี้กลับไปที่คำถาม: คุณสามารถให้การทำแผนที่วงจรชีวิตแบบละเว้นใน 1, 2 หรือ 3 สำหรับเป้าหมายเฉพาะที่สร้างปัญหาให้กับคุณได้


14

วิธีแก้ปัญหาที่ดีเพื่อเตือนคุณว่า m2e สามารถกำหนดค่าได้ดีขึ้นโดยที่โปรเจ็กต์ไม่ได้รับเครื่องหมายแสดงข้อผิดพลาดที่เป็นบวกเท็จก็คือการปรับลดรุ่นข้อผิดพลาดเหล่านั้นเป็นคำเตือน:

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


12

ฉันพยายามเรียกใช้การเสียบเฉพาะทันทีหลังจากล้างเช่น post-clean (ค่าเริ่มต้นคือระยะสะอาด) สิ่งนี้ใช้ได้ผลกับฉันด้วย eclipse indigo เพิ่งเพิ่ม post-clean ช่วยแก้ปัญหาให้ฉันได้

<executions>
  <execution>
    <configuration>
    </configuration>
   <phase>post-clean</phase>
    <goals>
      <goal>update-widgetset</goal>
    </goals>
  </execution>
</executions> 

11
คุณช่วยอธิบายได้ไหมว่าทำไมถึงได้ผล? “ แค่เพิ่ม” และ“ แก้ไขให้ฉัน” ไม่ได้เพิ่มความไว้วางใจให้ฉันไม่มีพฤติกรรมแอบแฝงที่ไม่ต้องการ
Kissaki

แน่นอนฉันมีphaseและgoalสำหรับexecutionใน pom.xml ที่มอบให้ฉันและฉันยังคงได้รับข้อผิดพลาด
Reinierpost

สุภาพบุรุษ - ขอโทษ ฉันไม่ใช่ผู้เชี่ยวชาญด้าน maven ต้องการที่จะช่วยใครสักคนที่กำลังมองหาวิธีแก้ปัญหาอย่างรวดเร็ว ฉันควรจะได้รับข้อมูลเชิงลึกมากกว่านี้ ฉันคิดว่าเคล็ดลับที่นี่คือการรวมขั้นตอนการดำเนินการ เนื่องจาก mojo สามารถกำหนดด้วยขั้นตอนของการดำเนินการฉันจึงพยายามเรียกใช้การเสียบเฉพาะทันทีหลังจากล้างข้อมูลเช่น post-clean (ค่าเริ่มต้นคือระยะสะอาด) สิ่งนี้ใช้ได้ผลกับฉันด้วย eclipse indigo ปลั๊กอินเฉพาะอาจใช้การอ้างอิงบางอย่างจากปอมหลัก? IIRC นี่คือปลั๊กอินที่ใช้ Vaadin
Charith De Silva

2

ฉันสามารถแก้ไขปัญหาเดียวกันด้วย maven-antrun-plugin และ jaxb2-maven-plugin ใน Eclipse Kepler 4.3 โดยการใช้โซลูชันนี้: http://wiki.eclipse.org/M2E_plugin_execution_not_covered#Eclipse_4.2_add_default_mapping
ดังนั้นเนื้อหาของ% ของฉัน elipse_workspace_name% /. metadata / .plugins / org.eclipse.m2e.core / lifecycle-mapping-metadata.xml มีดังนี้:

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
  <pluginExecutions>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <versionRange>1.3</versionRange>
        <goals>
          <goal>run</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxb2-maven-plugin</artifactId>
        <versionRange>1.2</versionRange>
        <goals>
          <goal>xjc</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>
  </pluginExecutions>
</lifecycleMappingMetadata>

* ต้องรีสตาร์ท Eclipse เพื่อดูข้อผิดพลาดที่หายไป


1

ในขณะที่Maven Eclipse (m2e) เวอร์ชัน 0.12 เป้าหมายวงจรชีวิตของ Maven ทั้งหมดจะต้องแมปกับส่วนขยาย m2e ที่ติดตั้งไว้ ในกรณีนี้maven-ear-pluginเป้าหมายที่default-generate-application-xmlไม่มีการแมป

คุณสามารถยกเว้นเป้าหมายในวงจรชีวิตที่ไม่ได้ทำแผนที่ได้เพียงทำตามคำแนะนำที่นี่:

https://wiki.eclipse.org/M2E_plugin_execution_not_covered

อีกวิธีหนึ่งคือเพียงแค่คลิกขวาที่เกิดข้อผิดพลาดใน Eclipse และเลือก->Quick FixIgnore for every pom with such errors

คุณควรระมัดระวังเมื่อมองข้ามเป้าหมายในวงจรชีวิต: โดยทั่วไปแล้วเป้าหมายจะทำสิ่งที่เป็นประโยชน์และหากคุณกำหนดค่าให้ละเว้นใน Eclipse คุณอาจพลาดขั้นตอนการสร้างที่สำคัญ คุณอาจต้องการพิจารณาเพิ่มการสนับสนุนให้กับส่วนขยาย Maven Eclipse EAR สำหรับเป้าหมายวงจรชีวิตที่ไม่ได้แมป


0

ด้วยกลไกที่อธิบายไว้ในคำตอบของ Jan ฉันได้สั่งให้ปลั๊ก m2e เพิกเฉยต่อเป้าหมาย "create-application-xml" สิ่งนี้จะกำจัดข้อผิดพลาดและดูเหมือนว่าจะใช้งานได้ตั้งแต่ m2e สร้าง application.xml

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

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
            </configuration>
        </plugin>
    </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.apache.maven.plugins</groupId>
                                    <artifactId>maven-ear-plugin</artifactId>
                                    <versionRange>[2.1,)</versionRange>
                                    <goals>
                                        <goal>generate-application-xml</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>**
        </plugins>
    </pluginManagement>
</build>

0

คุณต้องเข้าใจเนื้อหาใน M2E_plugin_execution_not_coveredและทำตามขั้นตอนด้านล่าง:

  • เลือก jar org.eclipse.m2e.lifecyclemapping.defaults จากโฟลเดอร์ปลั๊กอิน eclipse
  • แตกไฟล์และเปิด lifecycle-mapping-metadata.xml ซึ่งคุณจะพบ pluginExecutions ทั้งหมด
  • เพิ่ม pluginExecutions ของปลั๊กอินของคุณซึ่งแสดงเป็นข้อผิดพลาด<ignore/>ภายใต้<action>แท็ก

เช่น: สำหรับข้อผิดพลาดในการเขียนโปรเจ็กต์ - คุณสมบัติให้เพิ่มข้อมูลโค้ดนี้ใน<pluginExecutions>ส่วนของไฟล์ lifecycle-mapping-metadata.xml:

 <pluginExecution>
    <pluginExecutionFilter>
       <groupId>org.codehaus.mojo</groupId>
       <artifactId>properties-maven-plugin</artifactId>
       <versionRange>1.0-alpha-2</versionRange>
       <goals>
         <goal>write-project-properties</goal>
       </goals>
    </pluginExecutionFilter>
     <action>
       <ignore />
     </action>
   </pluginExecution>
  • แทนที่ไฟล์ XML นั้นใน JAR
  • แทนที่ JAR ที่อัพเดตแล้วในโฟลเดอร์ปลั๊กอินของ Eclipse
  • รีสตาร์ท Eclipse

คุณไม่ควรเห็นข้อผิดพลาดในอนาคตสำหรับโครงการใด ๆ


0

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

อัพเดตปลั๊กอิน M2e ใน eclipse

ทำความสะอาดและสร้างอีกครั้ง

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