2011-12-02 7 views
7

मेरे पास एक मैवेन-मल्टी प्रोजेक्ट है, जब मैं इसे एक नया ग्रहण प्रोजेक्ट बनाता हूं (एम 2 ई 1.0 द्वारा "एससीएम से चेकआउट मेवेन प्रोजेक्ट) मैं चाहता हूं कि ग्रहण चेकस्टाइल प्लगइन है कि इस परियोजना को स्वचालित रूप से के लिए कॉन्फ़िगर।स्वचालित रूप से एक मैवेन प्रोजेक्ट के लिए ग्रहण में चेकस्टाइल को कॉन्फ़िगर कैसे करें

तो मैं माता पिता पोम के <pluginManagement> खंड में maven-eclipse-plugin जोड़ा गया है और इसे कॉन्फिगर .checkstyle फ़ाइल के साथ ही अतिरिक्त परियोजना प्रकृति CheckstyleNature उत्पन्न करने के लिए। मॉड्यूलर poms में मैं निर्माण में maven-eclipse-plugin का नाम जोड़ा खंड। लेकिन जब मैं परियोजना को चेकआउट करता हूं तो कुछ भी खुश नहीं होता है, फ़ाइल उत्पन्न नहीं होती है और प्रकृति नहीं जोड़ा जाता है।

तो मुझे लगता है कि मैं कुछ पूरी तरह से गलत कर रहा हूं, लेकिन यह सही कैसे किया जाता है?


जनक पोम - प्लगइन प्रबंधन अनुभाग:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <version>2.8</version> 
    <configuration> 
     <downloadSources>true</downloadSources> 
     <downloadJavadocs>false</downloadJavadocs> 
     <wtpversion>2.0</wtpversion> 
     <additionalBuildcommands> 
      <buildCommand> 
       <name>org.eclipse.ajdt.core.ajbuilder</name> 
       <arguments> 
        <aspectPath>org.springframework.aspects</aspectPath> 
       </arguments> 
      </buildCommand> 
      <buildCommand> 
       <name>org.springframework.ide.eclipse.core.springbuilder</name> 
      </buildCommand> 
     </additionalBuildcommands> 
     <additionalProjectnatures> 
      <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> 
      <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> 
      <projectnature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</projectnature> 
     </additionalProjectnatures> 
     <additionalConfig> 
      <file> 
       <name>.checkstyle</name> 
       <content> 
<![CDATA[ 
<?xml version="1.0" encoding="UTF-8"?> 
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> 
    <fileset name="all" enabled="true" check-config-name="My Checkstyle rules" local="false"> 
    <file-match-pattern match-pattern="." include-pattern="true"/> 
    </fileset> 
    <filter name="FilesFromPackage" enabled="true"> 
    <filter-data value="target" /> 
    <filter-data value="src/main/resources"/> 
    <filter-data value="src/test/java"/> 
    <filter-data value="src/test/resources"/> 
    <filter-data value="src/main/webapp" /> 
    </filter> 
</fileset-config> 
]]> 
       </content> 
      </file> 
     </additionalConfig> 
    </configuration> 
</plugin> 

मॉड्यूल पोम - प्लगइन्स अनुभाग:

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

उत्तर

5

Can I Configure m2eclipse through pom.xml? में इस विषय के विस्तृत उत्तर के होते हैं:

ग्रहण Checkstyle प्लगइन का पूरी तरह से स्वत: विन्यास केवल एक ProjectConfigurator के साथ प्राप्त किया जा सकता है, जैसे m2e-code-quality या m2e-extensions

संस्करण 1.0 के रूप में m2e के लिए, आप उन्हें m2e बाज़ार के माध्यम से प्राथमिकता-> Maven-> डिस्कवरी -> "ओपन कैटलॉग" के अंतर्गत स्थापित कर सकते हैं। विवरण के लिए bug tracking for integration of m2e-code-quality into the m2e marketplace देखें।

FindBugs और सोनार के लिए भी AntRun और XMLTask पर आधारित समाधान भी है। चेकआउट के बाद केवल एक बार मैन्युअल ट्रिगरिंग की आवश्यकता होती है।

+0

बहुत अच्छा लगता है, मैंने अभी तक इसका परीक्षण नहीं किया है, लेकिन प्रोजेक्ट विवरण को फ्रोन करें, मुझे इसकी आवश्यकता है – Ralph

+0

दुर्भाग्यवश, [m2e-code-quality कनेक्टर m2e 1.4 (केप्लर) की सूची में नहीं है] (https: // github.com/m2e-code-quality/m2e-code-quality/issues/25)। – oberlies

+0

m2e-code-quality होम पेज (http://m2e-code-quality.github.io/m2e-code-quality/) बहुत पुराने होने के लिए seams, लेकिन इसका बाजार स्थान पृष्ठ https: //marketplace.eclipse। संगठन/सामग्री/एम 2 ई-कोड-गुणवत्ता से पता चलता है कि परियोजना अभी भी जिंदा है – Ralph

4

Maven ग्रहण प्लगइन ग्रहण के लिए m2e प्लगइन के रूप में एक ही बात नहीं है, जो मुझे लगता है कि आप उपयोग करने की कोशिश कर रहे हैं। असल में आपको एक ही समय में दोनों का उपयोग नहीं करना चाहिए।

आप एमवीएन ग्रहण का उपयोग कर सकते हैं: प्रोजेक्ट फ़ाइलों को उत्पन्न करने के लिए कमांड लाइन से ग्रहण करें और फिर आप परियोजनाओं को ग्रहण में आयात कर सकते हैं। M2e बहुत अलग तरीके से काम करता है और जब आप परियोजनाओं को मैवेन प्लगइन के रूप में आयात करते हैं तो इसके बजाय पोम फ़ाइलों का उपयोग करता है। शायद आप जो चाहते हैं वह चेकस्टाइल प्लगइन को कॉन्फ़िगर करना है और उम्मीद है कि ग्रहण सेटिंग्स को उठाएगा। Findbugs और अन्य मेवेन प्लगइन्स के लिए वही।

हालांकि, मैं वास्तव में एमवीएन ग्रहण का उपयोग करना पसंद करता हूं: ग्रहण और वास्तव में अपेक्षित कार्यों को अपेक्षित रूप से सत्यापित नहीं किया है। एम 2 मेरे लिए एक समय बर्बाद करने वाला बहुत अधिक है और अक्सर गलत चीजें करता है और करता है। मैं विशेष रूप से नफरत करता हूं कि कैसे मेवेन के साथ कमांड लाइन पर बातचीत के बाद मूल रूप से सब कुछ पुनर्निर्माण की आदत है। लेकिन बहुत से लोग m2e पसंद करते हैं।

+1

आप सही हैं, प्लगइन्स अलग हैं। लेकिन मैं ग्रहण प्लगइन के बजाय एम 2e का उपयोग करूंगा। – Ralph

+0

जब तक यह उत्तर ग्रहण प्लगइन (एम 2 ई) और मेवेन प्लगइन (मेवेन-ग्रहण-प्लगइन) के बीच प्रासंगिक स्पष्टीकरण अंतर नहीं है, ऐसा लगता है कि बिल्ड सिस्टम और आईडीई के बीच एकीकरण वास्तव में नवीनतम संस्करण (2013 से 2015 तक) में सुधार हुआ था)। मैं वास्तव में एम 2 ई की सिफारिश करता हूं। –

+2

यह प्रासंगिक था क्योंकि मूल प्रश्न m2e के बारे में है लेकिन नमूना xml मैवेन ग्रहण प्लगइन को कॉन्फ़िगर करता है, जो स्पष्ट रूप से काम नहीं करेगा; जैसा कि मैंने बताया। मेरा आखिरी पैराग्राफ प्रासंगिक था जब मैंने यह जवाब प्रदान किया क्योंकि एम 2 ई उस समय से निपटने के लिए अस्थिर और मुश्किल था। तब से चीजें काफी सुधार हुई हैं और अब मैं एम 2ई का भी उपयोग करता हूं। –

1

एक विन्यास ग्रहण checkstyle प्लगइन

को खिड़की \ वरीयताओं के तहत Maven-checkstyle-प्लगइन फार्म लागू होता है "Checkstyle m2e" कनेक्टर

स्थापित करना होगा \ Maven \ डिस्कवर \ ओपन सूची

और निश्चित रूप से किसी को पोम बदलना है, ताकि ग्रह शैली प्लगइन की बजाय चेक स्टाइल प्लगइन कॉन्फ़िगर किया गया हो।

दुर्भाग्यवश यह मेरे लिए काम नहीं कर रहा है! (मैं, क्योंकि यह किसी के लिए कुछ और काम कर सकते हैं इस सवाल का जवाब नहीं हटाया जाएगा।)

+0

क्या यह खोज स्वचालित रूप से ट्रिगर होने का कोई तरीका है? –

+0

@ Thorbjørn Ravn Andersen: मुझे नहीं पता। लेकिन यह एक अच्छा सवाल की तरह लगता है। – Ralph

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