मैं उपयोगकर्ता के साथ सोनार विश्लेषण कैसे चला सकता हूं जिसमें कोई होम निर्देशिका नहीं है: उपयोगकर्ता /dev/null/.sonar/cache बनाने में असमर्थ

मेरे पास सोनारक्वे सर्वर 4.0 और सोनार-चींटी-टास्क-2.1 है। मेरा सोनार लक्ष्य मेरे स्थानीय आरएचईएल 5 मशीन पर ठीक चलता है लेकिन जैसे ही मैं इसे साझा आरएचईएल 5 पर्यावरण में बढ़ावा देता हूं, यह उस उपयोगकर्ता द्वारा चलाया जाएगा जिसकी होम निर्देशिका स्पष्ट रूप से "/ dev/null" है। मैं इसे बदल नहीं सकता।

मुझे निम्नलिखित त्रुटि मिलती है: उपयोगकर्ता कैश/dev/null/.sonar/कैश बनाने में असमर्थ इसके कारण: java.io.IOException: निर्देशिका /dev/null/.sonar/cache बनाने में असमर्थ

मैंने निम्नलिखित दो गुण सेट किए हैं:

ये गुण स्थानीय रूप से वांछित रूप से प्रभावित होते हैं, हालांकि साझा वातावरण पर चलने पर sonar.userHome का उपयोग नहीं किया जाता है। मुझे समान त्रुटि मिली। यह/dev/null का उपयोग करने की कोशिश कर रहा है।

इस कैश के लिए/dev/null तक पहुंचने का प्रयास करना बंद करने के लिए मैं सोनार कैसे प्राप्त कर सकता हूं?

Bug description is below. Jira task created https://jira.codehaus.org/browse/SONARPLUGINS-3349

0
नहीं, उस उपयोगकर्ता के पास वास्तविक होम निर्देशिका है। इसलिए मुझे स्थानीय स्तर पर समस्या का अनुभव नहीं होता है। केवल साझा बॉक्स पर जहां चल रहे उपयोगकर्ता के पास कोई होम निर्देशिका नहीं है।
जोड़ा लेखक green reign, स्रोत
असल में कोई फर्क नहीं पड़ता कि मैं इस संपत्ति पर किस मशीन पर हूं <संपत्ति का नाम = "sonar.working.directory" value = "dirWhereUserHasAccess" /> प्रभावित होता है लेकिन यह गुण <संपत्ति का नाम = "sonar.userHome" value = "dirWhereUserHasAccess"/> कभी इस्तेमाल नहीं किया जाता है। मैं उपयोगकर्ता की होम निर्देशिका को ओवरराइड करने में असमर्थ हूं
जोड़ा लेखक green reign, स्रोत
-Dsonar.userHome = ... लेकिन कोई किस्मत का उपयोग करने का भी प्रयास किया
जोड़ा लेखक green reign, स्रोत
जब आप इसे स्थानीय रूप से चलाते हैं, तो क्या उस उपयोगकर्ता के पास/dev/null का घर डीआईआर भी होता है?
जोड़ा लेखक matt freake, स्रोत

3 उत्तर

Uncovered bug... Submitted to the user group: I believe there is a problem in sonar-ant-task-2.1->sonar-runner-2.4->sonar-runner-impl->Jars35

https://github.com/SonarSource/sonar-runner/blob/master/sonar-runner-impl/src/main/java/org/sonar/runner/impl/Jars35.java#L40

यह लाइन sonar.userHome संपत्ति को ध्यान में रखती नहीं है। जब एंटी-टास्क चलाता है Jars35 उपयोगकर्ता को सेट किए बिना FileCacheBuilder.build() को आमंत्रित करता है। इसलिए, निर्माता चुनता है

https://github.com/SonarSource/sonar/blob/master/sonar-home/src/main/java/org/sonar/home/cache/FileCacheBuilder.java#L54

System.getProperty ("user.home") + File.separator + ".sonar"

जो, मेरे मामले में एक निर्देशिका नहीं है जहां उपयोगकर्ता के पास आर/डब्ल्यू एक्सेस (/ dev/null) है। इसलिए विश्लेषण इस त्रुटि के साथ विफल रहता है:

... इसके कारण: java.io.IOException: निर्देशिका /dev/null/.sonar/cache बनाने में असमर्थ     org.apache.commons.io.FileUtils.forceMkdir पर (FileUtils.java:1748)     org.sonar.home.cache.FileCache.createDir (FileCache.java:155) पर     ... 30 और

मुझे लगता है कि जर्स 35 वर्ग को उपयोगकर्ता को सेट करने में सक्षम होना चाहिए होम या इस संपत्ति का इरादा प्रभावित नहीं होगा। यहां तक ​​कि यदि उपयोगकर्ता के पास वैध होम निर्देशिका है, तो कुछ कैश किए गए जार सिस्टम उपयोगकर्ता में कैश करेंगे। कुछ और शेष (बूटस्ट्रैप कार्यान्वयन के साथ लोड होने के बाद) उचित sonar.userHome स्थान में लोड हो जाएगा।

FileCacheProvider using the sonar.userHome setting to build the FileCache through the FileCacheBuilder. https://github.com/SonarSource/sonar/blob/master/sonar-batch/src/main/java/org/sonar/batch/bootstrap/FileCacheProvider.java#L34

दर्ज होने पर मैं जिरा मुद्दे के साथ अपडेट करूंगा

0
जोड़ा

The default Sonar cache directory path is: System.getProperty("user.home") + File.separator + ".sonar"

mvn sonar: सोनार चलाने से पहले पर्यावरण परिवर्तनीय SONAR_USER_HOME सेट करें।

Example for Bash: SONAR_USER_HOME=/my/path/.sonar mvn sonar:sonar

Unfortunately, the name SONAR_USER_HOME is misleading -- it is not a replacement for user.home; it is the complete cache directory path. To replicate default behavior, the following would suffice in Bash: SONAR_USER_HOME=$HOME/.sonar mvn sonar:sonar

Ref: https://github.com/SonarSource/sonarqube/blob/1f231f2cfcd47e66ca818cd1a8cbd93cc89af45d/sonar-home/src/main/java/org/sonar/home/cache/FileCacheBuilder.java

0
जोड़ा

I would recommend posting this on the SonarQube users list http://sonarqube.15.x6.nabble.com/SonarQube-Users-f3159782.html

0
जोड़ा