VSCode+Gradle搭建Java開發(fā)環(huán)境實現(xiàn)
前言
其實目前已經(jīng)有許多優(yōu)秀的IDE都是支持JAVA開發(fā)的,比如Eclipse、NetBeans、IntelliJ IDEA、Android Studio等,如果是項目級的開發(fā),并且對這些IDE也已經(jīng)十分滿意的話,可以不用再來折騰VSCode(Visual Studio Code)。我本人主要是基于以下原因選擇折騰一番:
- 確實是喜歡VSCode這款工具,開源免費,UI美觀,性能強悍。
- 插件豐富,并且通過對各種插件的安裝,也能對程序運行過程和原理有進一步了解,達到 “知其所以然” 的目的。
- 目前主要借助VSCode做一些Demo測試,來研究JAVA語言的特性,也會同時測試其他語言,比如JavaScript、Python等,使用VSCode的話,只需要安裝幾個插件就可以在這幾種語言間無縫切換,非常方便。
- 由于本人目前主攻方向還是Android,官方開發(fā)工具是Android Studio,也是基于Gradle構建的,所以想對Gradle有進一步了解。當然使用VSCode創(chuàng)建Maven工程也是完全沒問題的。
安裝環(huán)境
- Thinkpad 筆記本
- Win10 x64 操作系統(tǒng)
- Visual Studio Code 1.30.1
- Gradle 5.1
步驟
安裝VSCode
VSCode官方下載,然后安裝就可以了,這里不再贅述。
安裝針對VSCode的JAVA插件
打開Visual Studio Code,點擊左邊的Extensions圖標(或者快捷鍵Ctrl+Shift+X),搜索"java extension pack",點擊右邊的Install進行安裝,我這里因為已經(jīng)裝過了,所以顯示的Disable。安裝完成后,點擊Reload重新加載。Java Extension Pack也是官方推薦的插件包,因為它包含了多個其它插件,不需要我們一個個的安裝,具體可參考Java in Visual Studio Code。

其實此時已經(jīng)可以高效編寫運行Java代碼了,如下我寫的HelloWorld,使用javac編譯,使用java運行,完全沒有問題:

但是如果Java源碼定義了package的話,使用java命令運行時需要指定包名+類名,并且在包的父文件夾中執(zhí)行該命令,否則會報:“錯誤: 找不到或無法加載主類”,

解決方案:

但是今天的主角是Gradle來構建和運行Java工程,所以繼續(xù)往下看。
安裝Gradle
Gradle官方下載,下載完成后解壓到自定義目錄,比如我放到D:\Gradle下。
配置環(huán)境變量:依次選擇"此電腦"->屬性->高級系統(tǒng)設置->環(huán)境變量,編輯"系統(tǒng)變量"框下的PATH(不區(qū)分大小寫),將bin路徑加入PATH中:

檢查是否安裝成功,啟動cmd,輸入gradle -v查看版本號,如果顯示正確的坂本號,表示安裝成功。這里注意:如果下載的gradle是5.1及更高版本版本,要求JDK或JRE必須是JAVA 7及以上,具體可參考

創(chuàng)建Gradle工程
創(chuàng)建java工程
創(chuàng)建一個空目錄,然后在該目錄下啟動cmd,執(zhí)行gradle init --type java-application初始化gradle工程,然后將整個文件夾引入VSCode。我這里是直接在VSCode中的TERMINAL中執(zhí)行的,方便一些。它會讓我們填寫一些基本信息,比如項目名稱和包名稱等,注意包名稱要小寫,這是Java的基本規(guī)范,其他的保持默認就可以。同時也可以看到,他會默認創(chuàng)建一個App.java。

構建工程
在項目路徑下執(zhí)行gradle build 進行構建。但是報錯"Could not resolve com.google.guava:guava:26.0-jre"和400 Bad Request,從錯誤信息可以看出,當前項目依賴guava,但是guava無法從jcenter下載。

解決方案:
首先要確認該資源在jcenter中是否存在:復制鏈接到瀏覽器中發(fā)現(xiàn)可以正常下載,資源沒問題:

那么就確認了不是jcenter的原因,可能gradle代理的原因,打開gradle.properties屬性文件,一般在當前用戶目錄的.gradle下,

將和代理相關的四項全部刪除,或者注釋掉。一般應該是沒有代理的,我這里之所以會有,是因為之前使用Android Studio 的時候配置過Gradle,當時把Android SDK的代理不小心配置給了Gradle(Gradle不需要代理),所以會有此問題。同時也可以看出,不同版本的Gradle之間,gradle.properties是共享的。

修改完之后,再次輸入gradle build,可以正常編譯,guava也可以下載了:

一段時間后,提示構建成功:

運行java工程
在當前工程下執(zhí)行gradle run來運行java工程,輸出"Hello wrold.":

問題拓展
如果這里依賴包不是guava,而且在瀏覽器中輸入地址后,發(fā)現(xiàn)資源不存在怎么辦?
也沒關系,可以在build.gradle中多配置幾個資源倉,比如加個MavenCentral(),或者干脆使用最后兩行阿里的資源倉也是不錯的選擇:
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
mavenCentral()
// maven { url 'http://maven.aliyun.com/nexus/content/groups/public'}
// maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
}
總結
在搭建環(huán)境的過程中還是遇到許多小問題的,這里要特別感謝這篇博客的作者:Gradle代理問題,幫我解決了代理問題。
到此這篇關于VSCode+Gradle搭建Java開發(fā)環(huán)境實現(xiàn)的文章就介紹到這了,更多相關VSCode+Gradle搭建Java內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot如何實現(xiàn)持久化登錄狀態(tài)獲取
這篇文章主要介紹了SpringBoot 如何實現(xiàn)持久化登錄狀態(tài)獲取,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
SpringMVC的注解@RequestMapping屬性及使用
這篇文章主要為大家介紹了SpringMVC注解@RequestMapping屬性及使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
spring boot加入攔截器Interceptor過程解析
這篇文章主要介紹了spring boot加入攔截器Interceptor過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10
java使用URLDecoder和URLEncoder對中文字符進行編碼和解碼
這篇文章主要介紹了java 使用 URLDecoder 和 URLEncoder 對中文字符進行編碼和解碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07
Swagger3.0 整合spring boot2.7x避免swagger2.0與boot2.7沖突
這篇文章主要介紹了Swagger3.0 整合spring boot2.7x避免swagger2.0與boot2.7沖突問題,通過注釋掉2.0引入的倆包,直接引入3.0,文中結合實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2023-10-10

