Windows 10下利用VSCode進行Spring Boot開發


最近工作需求,需要在Windows 10開發Spring Boot應用,不過由於Intellij收費的緣故,轉而使用VSCode,經過一系列的配置,終於讓Spring Boot程序成功跑起來了(基於Gradle和Maven)。下面簡要描述一些需要注意的點。

VSCode Extension的安裝

在VSCode里面,至少要安裝:

  1. Debugger for Java (Microsoft)
  2. Gradle for Java (Microsoft)
  3. Language Support for Java(TM) by Red Hat (Red Hat)
  4. Spring Initializr Java Support (Microsoft)
  5. Test Runner for Java (Microsoft)
  6. Maven for Java (Microsoft)

其他插件例如Lombok,Spring Dashboard等可以自行選擇安裝

VSCode settings.json內容的修改

注意,VSCode要求Java版本至少要高於JDK11,如果必須要用JDK8的話,那么至少要下載JDK8和一個高於JDK10的JDK,為了方便,標記為JDK1x。然后,增加如下配置:

  1. "java.home": "JDK1x的路徑"
  2. "java.configuration.runtimes": [{"name": "JavaSE-1.8", "path": "JDK8的路徑", "default": true}, {"name": "JavaSE-1x", "path": "JDK1x的路徑"}]
  3. "java.import.gradle.home": "Gradle的安裝路徑"
  4. "java.import.gradle.user.home": "Gradle下載的依賴的存放路徑"
  5. "java.import.gradle.java.home": "Gradle的JDK路徑,這里填入JDK8"
  6. "java.import.gradle.wrapper.enabled": false
  7. "maven.executable.path: "D:\\maven\\path\\bin\\mvn.cmd""
  8. "maven.executable.preferMavenWrapper: false"
  9. "maven.pomfile.autoUpdateEffectivePOM: true
  10. "maven.view: "flat"
  11. "maven.settingsFile: "D:\\maven\\path\\conf\\settings.xml"
  12. "java.configuration.maven.userSettings: "D:\\maven\\conf\\settings.xml"

VSCode launch.json內容的修改

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "java",
      "name": "Launch Project",
      "request": "launch",
      "mainClass": "com.xxx.xxx.XXXApplication",
      "args": "--spring.profiles.active=dev"
    }
  ]
}

Gradle配置文件

在build.gradle里面有幾點需要注意的:

  1. Windows下路徑字符數目過多的問題,這需要安裝一個gradle-util-plugins-0.1.0-RELEASE.jar的插件:
    a. 下載這個插件,然后隨便放到一個目錄下
    b. 在buildscript里面加入下面內容:
    dependencies { classpath files('gradle-util-plugins-0.1.0-RELEASE.jar的路徑') }
    c. 如果沒有應用過application這個插件的,需要加上apply plugin: "application"
    d. 在project里面加上

    1. apply plugin: "org.springframework.boot"
    2. bootRun {
      systemProperty "spring.profiles.active", "dev"
      mainClassName = "你的main class的完整名稱,包括包名"
      }
    3. apply plugin: "com.github.ManifestClasspath"

    e. 如果需要jacoco和sonar來做代碼質量管理,那么需要配置如下內容到project里面,如果需要本地顯示某行代碼是否被覆蓋可以考慮converage gutters這個插件:

       apply plugin: "jacoco"
       jacoco {
          toolVersion = "0.8.2"
       }
       test {
          finalizedBy jacocoTestReport
       }
       jacocoTestReport {
         dependesOn test
         reports {
           xml.enabled = true
           csv.enabled = false
           html.enabled = true
           xml.destination file("$buildDir/jacoco/cov.xml") // 這個cov.xml的名稱是為了coverage gutters服務的
           html.destination file("$buildDir/jacoco/html")
         }
       }
       jacocoTestCoverageVerification {
         dependsOn jacocoTestReport
         violationRules {
           rule {
             limit {
               conuter = "LINE"
               value = "CONVEREDRATIO"
               minimum = 1.0
             }
           }
         }
       }
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM