最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VSCode?配置?Spring?Boot?項目開發(fā)環(huán)境的全過程

 更新時間:2024年03月11日 08:55:14   作者:Milton  
兩三年前曾經(jīng)試過配置Java環(huán)境, 存在不少問題作罷. 最近搜了下相關(guān)的文章, 感覺VSCode對Java項目的支持比三年前完善了不少. 今天實際配置了一下環(huán)境, 把自己常用的功能過了一遍, 基本能跑通開發(fā)流程, 做個筆記,需要的朋友可以參考下

神器IDEA在升級到2023之后越發(fā)卡頓, EDU郵箱也不能用了, 照現(xiàn)在這個JDK版本的升級速度, 神器不升級也不行, 需要開始物色替代品. 其它IDE我用得少, VSCode還是比較熟悉的, 可以作為備選項.

兩三年前曾經(jīng)試過配置Java環(huán)境, 存在不少問題作罷. 最近搜了下相關(guān)的文章, 感覺VSCode對Java項目的支持比三年前完善了不少. 今天實際配置了一下環(huán)境, 把自己常用的功能過了一遍, 基本能跑通開發(fā)流程, 做個筆記.

安裝擴(kuò)展

需要安裝的擴(kuò)展有兩組

  • Extension Pack for Java
  • Spring Boot Extension Pack

創(chuàng)建空白 Spring Boot 項目

快捷鍵 Shift+Ctrl+P呼出命令菜單, 使用 Spring Initializr: Create a Maven Project, 按提示創(chuàng)建

Java環(huán)境設(shè)置

需要先配置JDK, 否則在編譯和運(yùn)行項目時無法找到 pom.xml 中設(shè)置的JDK版本.

打開 settings

  • 首先在 Workspace 關(guān)閉 Java> Configuration: Detect Jdks At Start
  • 然后在 User 的 Java> Configuration: Runtimes 中添加 JDK

對應(yīng) User 的 settings.json, 這里的 name 是系統(tǒng)給定的值

"java.configuration.runtimes": [
        {
            "name":"JavaSE-11",
            "path": "/opt/jdk/jdk-11.0.18/"
        },
        {
            "name":"JavaSE-17",
            "path": "/opt/jdk/jdk-17.0.7/"
        },
        {
            "name":"JavaSE-21",
            "path": "/opt/jdk/jdk-21.0.2/"
        },
    ],

對應(yīng) Workspace 的 settings.json, Workspace 不需要配置 JDK, 用全局的即可

 "java.configuration.detectJdksAtStart": false,

設(shè)置完之后需要重啟 VSCode 才生效.

使用 Maven

使用自定義版本的 Maven

VSCode 中默認(rèn)使用的是當(dāng)前項目目錄下的 Maven Wrapper, 如果想換成其它版本, 或者不希望在項目目錄下增加額外文件, 則需要自行指定 mvn 路徑

在 User 的 settings.json 中增加下面的條目, 注意 這個條目在當(dāng)前的VSCode版本, 只能加到 User, 不能加到 Workspace.

"maven.executable.path": "/opt/maven/apache-maven-3.8.6/bin/mvn",

使用自定義 settings.xml

首先配置項java.configuration.maven.userSettings在maven擴(kuò)展中不起作用, 在GitHub issue #140中有解釋

For now, this maven extension works independently with the language server, so it never reads any java.* config.
Use extra parameters to specify your own settings file.
In this extension we provide config entry maven.executable.options as a workaround. E.g.
"maven.executable.options": "-s c:\settings.xml"
Make sure the filepath format is compatible with the terminal you use, here we won't format the content for your terminal.

所以需要通過在Workspace的 settings.json 中添加下面的配置, 使得自定義 settings.xml 起作用, 路徑要使用絕對路徑

"maven.executable.options": "-s /path-to/settings.xml"

加入此項后, 在界面上展開項目的 Profiles 就能看到自定義settings.xml中包含的profile.

查看項目全部依賴

在界面左側(cè)導(dǎo)航條, MAVEN模塊, 項目上右鍵 -> Show Dependencies, 會以文本形式展示所有依賴

設(shè)置執(zhí)行 Maven 使用的 JDK

執(zhí)行 Maven 使用的JDK和項目pom.xml指定的JDK并無關(guān)聯(lián), 是通過項目中的 mvnw 腳本檢查環(huán)境 $JAVA_HOME 變量獲得. 如果不設(shè)置執(zhí)行maven命令會使用系統(tǒng)自帶的java, 這樣會有問題.

這個環(huán)境變量可以通過兩種方式設(shè)置

  • workspace settings 中添加如下設(shè)置, 建議僅用于 Workspace, 因為不同項目的 JDK 可能不同, 這個設(shè)置僅對在terminal 中執(zhí)行的 maven 命令有效
  "maven.terminal.customEnv": [
        {
            "environmentVariable": "JAVA_HOME",
            "value": "/opt/jdk/jdk-21.0.2"
        }
    ],
  • workspace settings 中勾選 Maven > Terminal: Use Java Home, 對應(yīng)的設(shè)置如下, 開啟后會自動使用 java.home 的值作為 $JAVA_HOME
"maven.terminal.useJavaHome": true,

執(zhí)行maven命令

可以通過界面左側(cè)導(dǎo)航條, MAVEN模塊,

  • 項目上右鍵 Run Maven Commands 執(zhí)行. 如果要執(zhí)行復(fù)合命令(如 clean package), 可以點選 Custom
  • 也可以通過下級菜單 Lifecycle 展開后點擊對應(yīng) Command 執(zhí)行.

如果要快捷執(zhí)行

  • 可以用快捷鍵 Shift+Ctrl+P呼出命令菜單, 用 Maven 過濾, 選擇 Maven: History
  • 界面左側(cè)導(dǎo)航條, MAVEN模塊, 下級菜單 Favorites, 添加自己常用的復(fù)合命令, 例如clean package -DskipTests

Favorites 也可以在當(dāng)前項目的 settings.json 中添加

"maven.terminal.favorites": [
        {
            "command": "clean package -DskipTests"
        }
    ],

Run和Debug

界面方式可以直接通過 SpringBootApplication 類的編輯器右上方, 點擊Run或Debug按鈕

對于日??旖莶僮? 可以通過Shift+Ctrl+P呼出命令菜單, 用 Spring Boot Dashboard: Run, Spring Boot Dashboard: Debug, Spring Boot Dashboard: Stop 這三個命令進(jìn)行操作.

Debug 也可以用 VSCode 默認(rèn)的F5直接呼起

Run和Debug時資源文件filtering問題

VSCode 只要檢測到文件改動, 就會自動build, 但是此時會忽略指定的 profile, 導(dǎo)致資源文件的 filtering 未執(zhí)行, @標(biāo)注的占位符沒有替換為正確配置, 從而在執(zhí)行Spring Boot Dashboard: RunSpring Boot Dashboard: Debug時, 啟動出錯. 要手動先調(diào) Maven: Favorite編譯再執(zhí)行Run才能正確運(yùn)行.

解決方案:

在 task.json 中創(chuàng)建一個task, 用于帶 profile 編譯, 注意這里要指定JAVA_HOME, 指定 settings.xml, 指定 profile

{
    "label": "compile[dev]",
    "type": "shell",
    "command": "JAVA_HOME=/opt/jdk/jdk-21.0.2/ /opt/maven/apache-maven-3.8.6/bin/mvn compile -Pdev -DskipTests -f ./pom.xml -s ./settings.xml"
},

在 launch.json 中將上面的 task 設(shè)置到 preLaunchTask

{
    "type": "java",
    //...
    "args": "",
    "preLaunchTask": "compile[dev]",       <--- 增加這行
    "envFile": "${workspaceFolder}/.env",
},

之后啟動 Spring Boot Dashboard: Run時就會先執(zhí)行這個編譯對資源文件filtering, 再啟動應(yīng)用就正常了.

示例

最終的 User settings.json 新增項為

  "java.configuration.runtimes": [
        {
            "name":"JavaSE-11",
            "path": "/opt/jdk/jdk-11.0.18/"
        },
        {
            "name":"JavaSE-17",
            "path": "/opt/jdk/jdk-17.0.7/"
        },
        {
            "name":"JavaSE-21",
            "path": "/opt/jdk/jdk-21.0.2/"
        },
    ],
    "maven.executable.path": "/opt/maven/apache-maven-3.8.6/bin/mvn",

最終的 Workspace settings.json 為

{
    "java.configuration.detectJdksAtStart": false,
    "maven.terminal.customEnv": [
        {
            "environmentVariable": "JAVA_HOME",
            "value": "/opt/jdk/jdk-21.0.2"
        }
    ],
    "maven.terminal.favorites": [
        {"command": "clean package -Pdev -DskipTests"},
    ],
    "maven.executable.options": "-s /path-to/settings.xml",
}

最后

從實際使用看, VSCode對于中小型Java項目已經(jīng)可以作為生產(chǎn)力工具使用, 配置稍微有點麻煩, 從開發(fā)到debug到打包, 流程都沒什么問題. 代碼高亮和提示也沒什么問題, 本身VSCode也有一些優(yōu)勢, 例如對HTML, js代碼的高亮, IDEA社區(qū)版是沒有的. 存在的問題就是有些改動到界面上的體現(xiàn)反應(yīng)有點慢, 而且有些設(shè)置和改動變動比較大, 需要重啟后才能正確高亮.

到此這篇關(guān)于VSCode 配置 Spring Boot 項目開發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)VSCode 配置 Spring Boot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 將本地JAR文件手動添加到Maven本地倉庫的實現(xiàn)過程

    將本地JAR文件手動添加到Maven本地倉庫的實現(xiàn)過程

    在Java開發(fā)中,使用Maven作為項目管理工具已經(jīng)成為了主流的選擇,Maven提供了強(qiáng)大的依賴管理功能,可以輕松地下載和管理項目所需的庫和工具,在某些情況下,你可能會需要將本地下載的JAR文件手動添加到Maven的本地倉庫中,這篇博客將詳細(xì)介紹如何實現(xiàn)這一過程
    2024-10-10
  • 2020最新版idea激活教程(推薦)

    2020最新版idea激活教程(推薦)

    這篇文章主要介紹了2020最新版idea激活教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的框架實現(xiàn)

    IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的框架實現(xiàn)

    本文主要介紹了IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的框架實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • springboot接口如何多次獲取request中的body內(nèi)容

    springboot接口如何多次獲取request中的body內(nèi)容

    這篇文章主要介紹了springboot接口多次獲取request中的body內(nèi)容的過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java學(xué)習(xí)基礎(chǔ)之安裝JDK/配置JDK環(huán)境&IEDA工具安裝

    Java學(xué)習(xí)基礎(chǔ)之安裝JDK/配置JDK環(huán)境&IEDA工具安裝

    這篇文章主要介紹了Java學(xué)習(xí)基礎(chǔ)系列文章的第一篇,主要內(nèi)容是安裝JDK/配置JDK環(huán)境&IEDA工具安裝的相關(guān)資料,需要的朋友可以參考下
    2020-02-02
  • Java中斷言(assert)的使用場景與注意事項

    Java中斷言(assert)的使用場景與注意事項

    文章詳細(xì)介紹了Java斷言(assert)的使用方法、適用場景及注意事項,斷言是一種調(diào)試工具,用于開發(fā)和測試階段快速定位代碼邏輯錯誤,但非業(yè)務(wù)級校驗,不應(yīng)用于對外接口、業(yè)務(wù)容錯等場景,應(yīng)嚴(yán)格區(qū)分?jǐn)嘌耘c常規(guī)異常,避免濫用,確保代碼質(zhì)量和生產(chǎn)環(huán)境穩(wěn)定性
    2026-05-05
  • Spring?Boot?2.7?集成?RabbitMQ?3.9?版本依賴沖突問題解決

    Spring?Boot?2.7?集成?RabbitMQ?3.9?版本依賴沖突問題解決

    文章主要討論了在使用SpringBoot2.7與RabbitMQ時可能出現(xiàn)的依賴沖突問題,建議優(yōu)先使用SpringBoot自帶的依賴管理,避免手動指定不匹配的版本,并通過查看依賴樹、清理手動配置、強(qiáng)制對齊版本等步驟解決沖突,感興趣的朋友一起看看吧
    2026-05-05
  • java實現(xiàn)平面山脈模型

    java實現(xiàn)平面山脈模型

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)平面山脈模型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java實現(xiàn)將Markdown轉(zhuǎn)換為純文本

    Java實現(xiàn)將Markdown轉(zhuǎn)換為純文本

    這篇文章主要為大家詳細(xì)介紹了兩種在 Java 中實現(xiàn) Markdown 轉(zhuǎn)純文本的主流方法,文中的示例代碼講解詳細(xì),大家可以根據(jù)需求選擇適合的方案
    2025-03-03
  • SpringBoot注解@ConditionalOnClass底層源碼實現(xiàn)

    SpringBoot注解@ConditionalOnClass底層源碼實現(xiàn)

    這篇文章主要為大家介紹了SpringBoot注解@ConditionalOnClass底層源碼實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評論

蒙自县| 凤城市| 霍城县| 九江县| 墨竹工卡县| 咸丰县| 南郑县| 临江市| 历史| 天峻县| 基隆市| 台东市| 伊吾县| 华蓥市| 昌乐县| 安义县| 澄城县| 罗山县| 满洲里市| 巩留县| 武平县| 兴海县| 牙克石市| 永福县| 定结县| 丽水市| 紫阳县| 元江| 柘荣县| 周宁县| 潍坊市| 连州市| 宜州市| 东山县| 上饶市| 鄂托克前旗| 泰来县| 开原市| 托克逊县| 河津市| 美姑县|