जैसा कि निम्न छवि बताती है, सोनारसोर्स ने पूर्व-11 जावा संस्करणों के साथ कोड एनालाइज़र चलाने के लिए समर्थन समाप्त कर दिया है

Sonar ending support for analysis with Java 8-9-10

मैंने जावा 11 विश्लेषक का उपयोग करके सोनारस्कैनर विश्लेषण निष्पादित करने के लिए बिटबकेट पाइपलाइन चलाने के तरीके के बारे में पूर्ण उदाहरण खोजने की कोशिश की है, लेकिन प्री-जावा 11 संस्करणों (जैसे जावा 8) का उपयोग करके लक्ष्य कोड है, लेकिन मैं एक नहीं मिल सका। उस छवि के अनुसार, यह संभव होना चाहिए।

1
chomp 18 फरवरी 2021, 23:38

2 जवाब

सबसे बढ़िया उत्तर

मुझे यकीन नहीं है कि समस्या क्या है। घोषणाएं बताती हैं कि स्कैन निष्पादित करने के लिए आपको जावा 11+ का उपयोग करना होगा, लेकिन आप अभी भी जावा <11 के साथ अपना कोड संकलित कर सकते हैं। आपने अपनी परियोजना के बारे में कोई जानकारी नहीं दी है, तो चलिए एक उदाहरण के रूप में मावेन लेते हैं।

इसका आम तौर पर मतलब है कि आपको ऐसा कुछ करना है:

// set Java to 8
export JAVA_HOME=/path/to/jdk8/

// compile, test and build
mvn package

// set Java to 11
export JAVA_HOME=/path/to/jdk11/

// execute scanner
mvn sonar:sonar
1
agabrys 21 फरवरी 2021, 22:57

जबकि @agabrys सबसे सरल समाधान प्रदान करता है और जिसका हम उपयोग करते हैं, यद्यपि जेनकिंस फ्रीस्टाइल जॉब के माध्यम से, मावेन शीर्ष-स्तरीय लक्ष्य पैकेज को लागू करें, फिर JAVA_HOME चर को अंत-इंजेक्ट करें और मावेन सोनार चरण का आह्वान करें, एक वैकल्पिक दृष्टिकोण है ...

जावा 11 का प्रयोग पूरे समय करें, लेकिन अपने मावेन पोम, निर्दिष्ट करें:

<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

जैसा कि उस पृष्ठ के निचले भाग में बताया गया है, यह रनटाइम असंगति का एक छोटा जोखिम है।

एक अन्य विकल्प मावेन टूलचेन, विभिन्न प्रोफाइल से बंधा हुआ है, एक संकलन के लिए और दूसरा विश्लेषण चरणों के लिए।

1
Ian W 2 अक्टूबर 2021, 14:05