maven

2009-09-09 14 views
13

का उपयोग कर ग्रहण के लिए प्रोजेक्ट सेट करना मैं ग्रहण के साथ मौजूदा एप्लिकेशन को संशोधित करना शुरू करने की कोशिश कर रहा हूं। असल में मैं इसे पहले से काम कर रहा था, लेकिन मैं इस परियोजना को नष्ट कर दिया, और अब के साथ "mvn ग्रहण: ग्रहण" मैं मिल निम्नलिखित:maven

[INFO] Resource directory's path matches an existing source directory. Resources will be merged with the source directory src/main/resources 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Request to merge when 'filtering' is not identical. Original=resource src/main/resources: output=target/classes, include=[atlassian-plugin.xml], exclude=[**/*.java], test=false, filtering=true, 
merging with=resource src/main/resources: output=target/classes, include=[], exclude=[atlassian-plugin.xml|**/*.java], test=false, filtering=false 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.lifecycle.LifecycleExecutionException: Request to merge when 'filtering' is not identical. Original=resource src/main/resources: output=target/classes, include=[atlassian-plugin.xml], 
exclude=[**/*.java], test=false, filtering=true, merging with=resource src/main/resources: output=target/classes, include=[], exclude=[atlassian-plugin.xml|**/*.java], test=false, filtering=false 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) 
     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: org.apache.maven.plugin.MojoExecutionException: Request to merge when 'filtering' is not identical. Original=resource src/main/resources: output=target/classes, include=[atlassian-plugin.xm 
l], exclude=[**/*.java], test=false, filtering=true, merging with=resource src/main/resources: output=target/classes, include=[], exclude=[atlassian-plugin.xml|**/*.java], test=false, filtering=false 
     at org.apache.maven.plugin.eclipse.EclipseSourceDir.merge(EclipseSourceDir.java:302) 
     at org.apache.maven.plugin.eclipse.EclipsePlugin.extractResourceDirs(EclipsePlugin.java:1605) 
     at org.apache.maven.plugin.eclipse.EclipsePlugin.buildDirectoryList(EclipsePlugin.java:1490) 
     at org.apache.maven.plugin.eclipse.EclipsePlugin.createEclipseWriterConfig(EclipsePlugin.java:1180) 
     at org.apache.maven.plugin.eclipse.EclipsePlugin.writeConfiguration(EclipsePlugin.java:1043) 
     at org.apache.maven.plugin.ide.AbstractIdeSupportMojo.execute(AbstractIdeSupportMojo.java:511) 
     at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) 
     ... 16 more 

उत्तर

31

क्या इससे बेहतर होगा?

mvn org.apache.maven.plugins:maven-eclipse-plugin:2.6:eclipse 

यह Maven बताता डिफ़ॉल्ट 2.7 के बजाय संस्करण 2.6 (जो अभी भी काम करता है) का उपयोग करने के लिए (जो नहीं करता है)।
आपको इस तरह के आदेश को हर बार जारी करना होगा, इसलिए यह थोड़ा असुविधाजनक है जबकि उपरोक्त फ़ाइल में परिवर्तन एक बार तय हो सकता है, लेकिन इस तरह आप किसी और को गलती से तोड़ने का जोखिम नहीं उठाते हैं और आप ' टी फाइलों की तलाश में जाना है।
यदि आप कमांड सिंटैक्स को याद नहीं कर सकते हैं, तो इसे आसान संदर्भ के लिए टेक्स्ट फ़ाइल में कॉपी करें।

this thread देखें।

यह Maven ग्रहण प्लगइन में हाल ही में परिवर्तन का उल्लेख करता है: यदि आप उपयोग कर रहे हैं

+2

अगर कोई अभी भी इस के साथ संघर्ष कर रहा है तो यह https://bugs.eclipse.org/bugs/show_bug.cgi?id=317900 – rsilva4

0

हम इस परियोजना के pom.xml करने के लिए एक नज़र हो सकता है?

क्या आपने mvn clean eclipse:clean eclipse:eclipse कमांड चलाने की कोशिश की?

+0

दुर्भाग्य से यह मदद नहीं करता है (मैंने कोशिश नहीं की थी, हालांकि, धन्यवाद)। एमवीएन पैकेज बीटीडब्ल्यू। काम करता है ... – egaga

8

मुझे लगता है कि VonC के जवाब सही एक (+1) है ग्रहण: ग्रहण लक्ष्य। व्यक्तिगत रूप से मुझे इसके लायक होने की तुलना में अधिक परेशानी होती है और इसके बजाय निर्भरता का प्रबंधन करने के लिए m2eclipse का उपयोग करें, ग्रहण मेटाडेटा फ़ाइलों को एससीएम में करना। पूरी तरह से योग्य नाम VonC पता चलता है के रूप में के साथ ग्रहण, आप अपने पोम में प्लगइन कॉन्फ़िगर सही संस्करण का उपयोग करने के कर सकते हैं:

ग्रहण आह्वान करने के लिए होने से बचने के लिए। यह good practice वैसे भी है।

पोम में, प्लगइन इस प्रकार निर्दिष्ट करें: जब भी आप ग्रहण प्लगइन आह्वान फिर

<build> 
... 
    <plugins> 
    ... 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-eclipse-plugin</artifactId> 
     <version>2.6</version> 
    </plugin> 
    </plugins> 
</build> 

, संस्करण 2.6 उपयोग किया जाएगा।

+0

इस सुझाव के लिए धन्यवाद। – egaga

+0

m2eclipse और संस्करण निर्दिष्ट करना: +1 – VonC

+0

कृपया ध्यान दें कि कॉन्फ़िगरेशन को संभालने के लिए m2eclipse पर भरोसा करके, आप अपने उत्पाद को बनाने के लिए एक (काम कर रहे!) ग्रहण स्थापना पर निर्भर हो जाएंगे। कमांडलाइन पर इस तरह के काम के रूप में मेवेन। एक शौकिया परियोजना के लिए, या एक छोटी सी छोटी आकार की परियोजना के लिए, यह अप्रासंगिक हो सकता है, लेकिन औद्योगिक सेट-अप के भीतर यह आमतौर पर अस्वीकार्य है, निर्माण प्रक्रिया कुछ डेवलपर्स पीसी – Ichthyo