2013-11-21 23 views
5

Sanırım, EclipseLink (2.5.1) JPA varlıklarının statik dokumasıyla oluşturulmuş kod üzerinde FindBugs (2.0.2) ve Sonar (3.7.3) 'dan yanlış pozitif olduğunu düşünüyorum. Özellikle,FindBugs'i statik dokuma tarafından oluşturulan kodda uyarılar oluşturmaktan bastırmanın bir yolu var mı?

ES_COMPARING_PARAMETER_STRING_WITH_EQ 
Comparison of String parameter using == or != in com.test.domain.MyEntity._persistence_set(String, Object) 

ve

URV_INHERITED_METHOD_WITH_RELATED_TYPES 
Inherited method com.test.domain.MyEntity._persistence_get(String) returns more specific type of object than declared 

birden fazla kopyasını görüyorum varlıklar üzerinde analiz kurallarını devre dışı global olarak veya dışlamak zorunda kalmadan EclipseLink tarafından üretilen kod için bu uyarıları ortadan kaldırmak için bir yol var mı Baştan sona? http://docs.codehaus.org/display/SONAR/Narrowing+the+Focus

cevap

4

Çok iyi bir soru:

+0

Teşekkürler, bu mükemmel çalıştı. Sonar 4'ün konsoldan hariç tutmayı/kalıpları yönetmek için daha fazla seçeneği var gibi görünüyor, ancak bu kadar ayrıntılı bir şey yok. –

0

Sen istisnalar bir göz olabilir! Sorunlarınız FindBugs ile kaynaklandığından, bunu çözmek için FindBugs exclusion filters'u kullanabilirsiniz. Özellikle, <Method> hariç tutulmasına bir göz atın. Sen varlık sınıflarında sizin Alıcı ve ayarlayıcıların yöntem adlarını eşleşen bir düzenli ifade,

<Method name="~_persistence_[gs]et" /> 

Böyle bir filtre dosyası gibi

Eclipse eklentisi ve SonarQube dahil FindBugs her türlü, tarafından kullanılabilir belirtebilirsiniz. Örneğin, SonarQube ant görevini kullanarak, sonar.findbugs.excludesFilters özelliğini FindBugs dışlama dosyasının mutlak yoluna ayarlayabilirsiniz.