2009-12-16 15 views
6

जब मैं निर्माण में हाल ही में "mvn इंस्टॉल साइट-तैनाती" चलाता हूं तो मुझे लगातार निम्न त्रुटि मिलती है। मैं यह नहीं समझ सकता कि क्या गलत है क्योंकि मेरे पास है m2 repo ने कई साफ-अलग बिल्डों को भी आजमाया है। क्या कोई मुझे एक संकेत दे सकता है जहां मुझे समाधान मिल सकता है। मैंने गूगलिंग की कोशिश की लेकिन कुछ प्रासंगिक नहीं हो सका। धन्यवाद।मेवेन साइट-तैनाती बिल्ड त्रुटि

FATAL ERROR] org.apache.maven.plugins.site.SiteMojo#execute() caused a linkage error (java.lang.NoClassDefFoundError) and may be out-of-date. Check the realms: 
[FATAL ERROR] Plugin realm = app0.child-container[org.apache.maven.plugins:maven-site-plugin:2.0-beta-7] 
...... 
[FATAL ERROR] Container realm = plexus.core 
....... 
[INFO] ------------------------------------------------------------------------ 
[ERROR] FATAL ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] org/apache/maven/plugin/logging/Log 
org.apache.maven.plugin.logging.Log 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
java.lang.NoClassDefFoundError: org/apache/maven/plugin/logging/Log 
    at org.codehaus.mojo.emma.EmmaReportMojo.canGenerateReport(EmmaReportMojo.java:319) 
    at org.apache.maven.plugins.site.AbstractSiteRenderingMojo.filterReports(AbstractSiteRenderingMojo.java:177) 
    at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:81) 
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:519) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332) 
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:356) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 
Caused by: java.lang.ClassNotFoundException: org.apache.maven.plugin.logging.Log 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195) 
    at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255) 
    at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 
    ... 21 more 

संस्करण जानकारी: jdk1.6.0_14, अपाचे-Maven-2.1.0

+0

मुझे मैवेन के नए संस्करण को स्थापित करके एक ही त्रुटि और हल हो गया। http://maven.apache.org/download.html –

उत्तर

1

मैं देख रहा हूँ कि आप एम्मा रिपोर्ट का उपयोग कर रहे हैं। शायद यह इस प्लगइन में निर्भरताओं के साथ एक समस्या है। गुम वर्ग maven-plugin-api आर्टिफैक्ट में होना चाहिए।

एम्मा रिपोर्ट पर टिप्पणी करने के लिए पहले प्रयास करें, अगर यह इस प्लगइन के एंटोर संस्करण का उपयोग करने में मदद करता है या your pom में उचित निर्भरता जोड़कर इसे ठीक करने में मदद करता है - आपके मामले में maven-plugin-api।

+0

टिप के लिए धन्यवाद, मैं इसे आज़माउंगा और जांच करूँगा कि यह समस्या हल करता है या नहीं। – sanjayav

1

सबसे पहले, यदि संभव हो तो मैवेन के नवीनतम संस्करण (2.2.1) का उपयोग करें, इसके सुपर पोम में ठीक से नए संस्करण होंगे जो आपकी समस्या का समाधान कर सकते हैं।

mvn -cpu site

आप स्नैपशॉट का उपयोग कर रहे हैं तो भी यू जोड़ें: यानी cpu - तब का उपयोग कर एक प्लगइन अद्यतन के लिए मजबूर कर प्रयास करें। अंत में यदि आप अपनी प्रोजेक्ट में प्लगइन संस्करणों को फ्रीज करते हैं, तो उन्हें अपडेट करने का प्रयास करें। तो बाकी सब तो प्रभावी पोम (mvn मदद: प्रभावी-पोम) पर एक नज़र डालें विफल रहता है क्या संस्करणों का उपयोग किया बिंग हैं देखने के लिए है, तो कीड़े

+0

टिप के लिए धन्यवाद, मैं इसे आज़माउंगा और जांच करूंगा कि यह समस्या हल करता है या नहीं। – sanjayav

1

Maven 2.1.0 के साथ इस चाहिए काम के लिए गूगल (यहां तक ​​कि अगर उन्नयन एक अच्छा विचार होगा)। स्पष्ट रूप से संस्करण सेट करके अपने पोम प्लगइन का नवीनतम संस्करण का उपयोग करने का प्रयास करें (आप निश्चित संस्करण वैसे भी उपयोग करना चाहिए):

<project> 
    ... 
    <build> 
    <!-- To define the plugin version in your parent POM --> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-site-plugin</artifactId> 
      <!-- Lock down plugin version for build reproducibility --> 
      <version>2.0.1</version> 
     </plugin> 
     ... 
     </plugins> 
    </pluginManagement> 
    <!-- To use the plugin goals in your POM or parent POM --> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-site-plugin</artifactId> 
     </plugin> 
     ... 
    </plugins> 
    </build> 
    ... 
</project> 
2

हम सिर्फ org.apache.felix साथ यद्यपि यह बहुत ही समस्या में पड़ गए हैं : Maven गठरी-प्लगइन।

हमारी समस्या यह वास्तविकता से निकली कि हम pom.xml के भीतर एक प्लगइन संस्करण निर्दिष्ट नहीं किया है:

<plugin> 
    <groupId>org.apache.felix</groupId> 
    <artifactId>maven-bundle-plugin</artifactId> 
</plugin> 

यह सब अच्छी तरह से और अच्छा था और सब कुछ (फिर) प्लगइन का नवीनतम संस्करण के साथ काम किया यानी 2.3.4।

... 
[FATAL ERROR] org.apache.felix.bundleplugin.BundlePlugin#execute() caused a linkage error (java.lang.NoSuchMethodError) and may be out-of-date. Check the realms: 
[FATAL ERROR] Plugin realm = app0.child-container[org.apache.felix:maven-bundle-plugin:2.3.5] 
... 

हम स्पष्ट रूप से संस्करण कहते हुए कि इस समस्या का समाधान:

हालांकि, जब प्लगइन का एक नया संस्करण (संस्करण 2.3.5) बाहरी Maven भंडार पर उपलब्ध हो गया है कि हम निम्न त्रुटि मिला प्लगइन हमारे pom.xml भीतर:

<plugin> 
    <groupId>org.apache.felix</groupId> 
    <artifactId>maven-bundle-plugin</artifactId> 
    <version>2.3.4</version> 
</plugin> 

आशा इस मदद करता है।

संबंधित मुद्दे