2016-04-13 23 views
1

SQ üzerinde analiz edilen Java dosyalarımız otomatik olarak oluşturulmuş kod bloklarını içerir. Böyle bir blokBloklardaki Sorunları Yoksay

// @[email protected] 

ile başlar ve aralarında

// @[email protected] 

Kod satırları SQ tarafından göz ardı edilmelidir ile sona erer. http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus Site http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus Site, 'Bloklardaki Sorunları Yoksay' bölümünde nasıl yapılabileceğini açıklamaktadır. Parametre sonar.issue.ignore.block kullanılmalıdır.

Çevremizde Maven'i proje oluşturma ve analiz için kullanıyoruz. Projenin POM'sinde aşağıdaki parametreleri ayarlıyoruz:

<sonar.issue.ignore.block>e1</sonar.issue.ignore.block> 
<sonar.issue.ignore.block.e1.beginBlockRegexp>\/\/ @[email protected]</sonar.issue.ignore.block.e1.beginBlockRegexp> 
<sonar.issue.ignore.block.e1.endBlockRegexp>\/\/ @[email protected]</sonar.issue.ignore.block.e1.endBlockRegexp>     

(Yukarıdaki dizelerle eşleşen düzenli ifadeler).

Maalesef SQ // @[email protected] ve analizinden // @[email protected] arasındaki kod blokları dışlamaz! Bir fikrin var mı, neden?

cevap

0

Bunu, parametrelerde değil, kullanıcı arayüzünde ayarlamanız gerekir. Bu konuda dokümanlar hakkında zaten bir uyarı vardı, ancak daha dikkat çekici hale getirdim.

+0

O değil arayüzünde ama komut satırında, parametre olarak bu değerleri ayarlayarak iyi iş gibi görünüyor: 4 göz ardı edilecektir - çizgiler 2 iken ve 5, bir sonar sorunu yükseltecektir. – dokaspar

0

// karakterini dışarıda bırakarak normal ifadenizi basitleştirme hakkında ne dersiniz? Aşağıdaki yapılandırma mükemmel iyi çalışması gerekir:

// @[email protected] 

System.out.println("Hello world!"); 

// @[email protected] 

Veya daha detaylı olarak

sonar.issue.ignore.block=e1 
[email protected][email protected] 
[email protected][email protected] 

yukarıdaki gibi başlangıç ​​ve bitiş etiketleri arasına konular dikkate alınmayacaktır Yapılandırılmadı

... Aşağıdaki örnekte, çizgiler 1

1: System.out.println("Hello world!"); 
2: System.out.println("Hello world!"); // @[email protected] 
3: System.out.println("Hello world!"); 
4: System.out.println("Hello world!"); // @[email protected] 
5: System.out.println("Hello world!");