天天看點

Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題

SonarQube通過持續的代碼品質和代碼安全性增強您的工作流程。

1.捕獲棘手的錯誤,以防止未定義的行為影響最終使用者。

2.修複危及您應用的bug,并在此過程中學習安全熱點的 AppSec。

3.確定您的代碼庫幹淨且可維護,以提高開發人員的速度!

4.适用于 29 種程式設計語言

首先安裝SonarQube,如果沒有安裝可以參考:

Windows安裝最新SonarQube版本

因為目前我們是本地使用,是以基本上都是用手工,其他CI後期在介紹吧。

1. 建立項目

Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題

建立令牌,将令牌名稱改成自己的。

Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題

上面就是已經生成好了,而且Maven腳本複制下來。

添加你要分析的語言。

Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題

經過上面的配置就可以複制運作代碼直接運作即可,如果不行的話,可以按第二步設定。

2. IDEA配置運作腳本

需要先在Maven的配置setting.xml檔案配置如下:

<pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
  </pluginGroups>
  <profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.host.url>
              http://127.0.0.1:9000
            </sonar.host.url>
            <sonar.login>admin</sonar.login>
            <sonar.password>密碼</sonar.password>
        </properties>
    </profile>
  </profiles>
           
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題

然後按左邊的加号:

Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題
Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題

然後回到SonarQube檢視,他會按項目名建立項目:

Windows設定SonarQube項目掃描1. 建立項目2. IDEA配置運作腳本3. IDEA配置阿裡編碼規約4. 問題

3. IDEA配置阿裡編碼規約

4. 問題

Insufficient privileges
java.lang.IllegalStateException: Insufficient privileges
	at org.sonarsource.sonarlint.core.serverapi.ServerApiHelper.handleError(ServerApiHelper.java:126)
	at org.sonarsource.sonarlint.core.serverapi.ServerApiHelper.processPage(ServerApiHelper.java:187)
	at org.sonarsource.sonarlint.core.serverapi.ServerApiHelper.lambda$getPaginated$3(ServerApiHelper.java:176)
	at org.sonarsource.sonarlint.core.serverapi.ServerApiHelper.lambda$consumeTimed$6(ServerApiHelper.java:252)
	at org.sonarsource.sonarlint.core.serverapi.ServerApiHelper.processTimed(ServerApiHelper.java:227)
	at org.sonarsource.sonarlint.core.serverapi.ServerApiHelper.consumeTimed(ServerApiHelper.java:251)
	at org.sonarsource.sonarlint.core.serverapi.ServerApiHelper.getPaginated(ServerApiHelper.java:174)
	at org.sonarsource.sonarlint.core.serverapi.component.ComponentApi.getSubProjects(ComponentApi.java:44)
	at org.sonarsource.sonarlint.core.container.connected.update.ModuleHierarchyDownloader.fetchModuleHierarchy(ModuleHierarchyDownloader.java:47)
	at org.sonarsource.sonarlint.core.container.connected.update.ProjectConfigurationDownloader.fetchHierarchy(ProjectConfigurationDownloader.java:44)
	at org.sonarsource.sonarlint.core.container.connected.update.ProjectConfigurationDownloader.fetch(ProjectConfigurationDownloader.java:38)
	at org.sonarsource.sonarlint.core.container.connected.update.perform.ProjectStorageUpdateExecutor.updateConfiguration(ProjectStorageUpdateExecutor.java:83)
	at org.sonarsource.sonarlint.core.container.connected.update.perform.ProjectStorageUpdateExecutor.lambda$update$0(ProjectStorageUpdateExecutor.java:72)
	at org.sonarsource.sonarlint.core.client.api.util.FileUtils.replaceDir(FileUtils.java:233)
	at org.sonarsource.sonarlint.core.container.connected.update.perform.ProjectStorageUpdateExecutor.update(ProjectStorageUpdateExecutor.java:71)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.updateProject(ConnectedSonarLintEngineImpl.java:543)
	at org.sonarlint.intellij.tasks.BindingStorageUpdateTask.lambda$tryUpdateProjectStorages$1(BindingStorageUpdateTask.java:169)
	at java.base/java.util.HashMap.forEach(HashMap.java:1336)
	at org.sonarlint.intellij.tasks.BindingStorageUpdateTask.tryUpdateProjectStorages(BindingStorageUpdateTask.java:167)
	at org.sonarlint.intellij.tasks.BindingStorageUpdateTask.updateProjectStorages(BindingStorageUpdateTask.java:133)
	at org.sonarlint.intellij.tasks.BindingStorageUpdateTask.run(BindingStorageUpdateTask.java:109)
	at org.sonarlint.intellij.tasks.BindingStorageUpdateTask$1.run(BindingStorageUpdateTask.java:81)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:450)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:117)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressSynchronously$8(CoreProgressManager.java:556)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:81)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:243)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:170)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:243)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:829)