2012-08-20 10 views
7

मैं जेनरबग चेक से जेनरेट की गई फ़ाइलों को फ़िल्टर करने का प्रयास कर रहा हूं और मैंने जो भी कोशिश की है, वह काम नहीं कर रहा है। मेरी निर्माण प्रक्रिया का बहुत अधिक हिस्सा मैं एक बहुत सारी कक्षाएं बनाता हूं जो src/जेनरेट नामक फ़ोल्डर में समाप्त होता है, मुझे उन सभी वर्गों को फ़िल्टर करने में दिलचस्पी होगी। मैं मेवेन का उपयोग कर रहा हूं लेकिन मुझे नहीं लगता कि यह महत्वपूर्ण है।Findbugs जेनरेट की गई फाइलों को बहिष्कृत करें

अग्रिम धन्यवाद।

उत्तर

2

यह जानने के बिना कि आपने कोशिश की है कि यह मदद करने में थोड़ा समस्याग्रस्त है।

यहां एक टुकड़ा है जिसका उपयोग हम एवरो द्वारा उत्पन्न कोड में मौजूद कुछ बग पैटर्न को छोड़ने के लिए करते हैं।

<FindBugsFilter> 
    <Match> 
    <!-- Avro generates redundant "implements" interface declarations --> 
    <Or> 
     <Package name="~com[.]foo[.]plugh[.]avro([.].*)?"  /> 
     <Package name="~com[.]foo[.]xyzzy[.]protocol([.].*)?" /> 
    </Or> 

    <Or> 
     <Bug pattern="RI_REDUNDANT_INTERFACES" /> 
     <Bug pattern="NM_CLASS_NAMING_CONVENTION" /> 
     <Bug pattern="REC_CATCH_EXCEPTION" /> 
    </Or> 
    </Match> 
<FindBugsFilter> 
+0

धन्यवाद डेव, मैं src/मुख्य/जावा स्रोत फ़ोल्डर है कि मैं कीड़े के लिए जाँच करने के लिए ठीक कर रहा हूँ है। मेरे पास निर्माण के दौरान उत्पन्न स्रोत/जेनरेट/जावा स्रोत फ़ोल्डर भी है। मैं जेनरेट कोड को बग्स चेक से बाहर करना चाहता हूं क्योंकि उत्पन्न होने पर यह मेरे नियंत्रण से बाहर है। आशा है कि यह स्पष्ट करता है कि मैं क्या हासिल करने की कोशिश कर रहा हूं। – Julian

+0

@ जुलिएन मुझे पता है कि आप क्या करने की कोशिश कर रहे हैं, मुझे नहीं पता कि आपने क्या प्रयास किया है। उपरोक्त परिभाषित संकुल के लिए परिभाषित बग को छोड़ देता है। –

+0

मैं पैकेज नामों के आधार पर बहिष्कृत करने के लिए कक्षाओं का पता नहीं लगा सकता लेकिन मैं उन फ़ोल्डर के आधार पर उन्हें ढूंढ सकता हूं जो वे बैठते हैं। यह मेरी मुख्य समस्या है। – Julian

0

यहां कोडहॉस findbugs-maven-plugin का उपयोग करने का तरीका बताया गया है। आप उन पैकेजों को शामिल करते हैं जिन्हें आप विश्लेषण करना चाहते हैं, उन लोगों को छोड़कर जिन्हें आप नहीं करते हैं।

<reporting> 
    <plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>findbugs-maven-plugin</artifactId> 
     <version>2.5.2</version> 
     <configuration> 
      <onlyAnalyze>com.company.util.*,com.company.myapp.*</onlyAnalyze> 
     </configuration> 
    </plugin> 
    </plugins> 
</reporting> 
+0

यह अभी भी जेनरेट किए गए वर्गों में बग पाएगा, क्योंकि वे एक ही पैकेज में जेनरेट होते हैं। – Ben

+0

संभव, हां। कुछ कोड जनरेटिंग प्लगइन्स पैकेज नाम के विनिर्देश की अनुमति देते हैं। मेरे पास cxf-xjc-plugin का उपयोग करके एक ऐप है जो ठीक है। पैकेज का नाम बदलें और कक्षाओं को अनदेखा करना आसान हो जाता है। यह इस्तेमाल किए गए टूल के आधार पर एक विकल्प नहीं हो सकता है। – user944849

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

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