https://code.visualstudio.com/docs/java/java-tutorial
https://blog.csdn.net/weixin_49666086/article/details/126050952
https://zhuanlan.zhihu.com/p/586056834
配置好環境變量JAVA_HOME
打開vscode,安裝java相關插件
當然,還有更多的Java插件,開發者可以根據自己的需求和偏好,在「Marketplace」中自行下載下傳和配置。
官方連結:https://marketplace.visualstudio.com/vscode
===============================安裝==================================================
A. 安裝這個內建了一下插件:(必須)
Language Support for Java™ by Red Hat
Debugger for Java
Java Test Runner
Maven for Java
IntelliCode
Java Dependency Viewer
B. 其他插件
插件(必須) Deploy插件配置在後面
插件
Lombok Annotations Support for VS Code. (簡化POJO)
============================配置================================
// Java相關配置資訊
"java.configuration.runtimes": [
{
"name": "JavaSE-19",
"path": "/usr/local/java",
"default": true
}
],
"java.jdt.ls.java.home": "/usr/local/java",
//maven、gradle的配置檔案變更後自動更新
"java.configuration.updateBuildConfiguration": "automatic",
//java源檔案路徑
"java.project.sourcePaths": [
"src/main/java",
"src/test/java",
],
//關閉自動編譯
"java.autobuild.enabled": false,
//關閉debug前強制編譯
"java.debug.settings.forceBuildBeforeLaunch": false,
//在項目根目錄下生成.classpath等配置檔案
"java.import.generatesMetadataFilesAtProjectRoot": true,
Maven的相關配置資訊
// Maven的相關配置資訊
"java.configuration.maven.globalSettings": "/usr/local/maven/apache-maven-3.8.6/conf/settings.xml",
"java.maven.downloadSources": true,
"java.configuration.maven.userSettings": "/usr/local/maven/apache-maven-3.8.6/conf/settings.xml",
"maven.executable.path": "/usr/local/maven/apache-maven-3.8.6/bin/mvn",
"maven.settingsFile": "/usr/local/maven/apache-maven-3.8.6/conf/settings.xml",
"maven.executable.options": "-DarchetypeCatalog=internal",
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/target": true,
"**/logs": true
},
"maven.terminal.customEnv": [
{
"environmentVariable": "JAVA_HOME",
//<!--jdk安裝根目錄-->
"value": "/usr/local/java"
}
],
Deploy插件配置資訊
//使用Deploy插件來進行熱部署時所需要的配置資訊
"deploy": {
"packages": [
{
"name": "前端",
"description": "webapp裡面的所有檔案",
"files": [
"src/main/webapp/*",
"src/main/webapp/*/*",
"src/main/webapp/*.*",
"src/main/webapp/*/*.*",
"src/main/webapp/*/*/*.*",
"src/main/webapp/*/*/*/*.*",
"src/main/webapp/*/*/*/*/*.*",
"src/main/webapp/*/*/*/*/*",
"src/main/webapp/*/*/*/*/*/*.*",
],
"exclude": [
"src/main/webapp/test/*"
],
"deployOnSave": true,
"useTargetList": true,
"button": {
"text": "熱部署",
"tooltip": "點選這裡将前端部署到hotsite",
"targets": [ "HOTSITE" ]
},
}
],
"targets": [
{
"type": "local",
"name": "HOTSITE",
"description": "A local folder",
"dir": "target/demo/",
"mappings": [
{
"source": "src/main/webapp",
"isRegEx": false,
"target": "/"
}
]
}
]
},
C. 建立maven項目
點選建立Java項目,選擇其中的Maven工具,由于是建立的JavaWeb項目,是以直接選擇webapp即可。
接下來版本選預設第一個的1.4即可,然後輸入自定義groupId和artifactId。确定之後會選擇項目的存放路徑,然後Maven就開始建構項目了。
如果看不到這個按鈕可以 ctrl+ship+p
注意到此需要按一下回車來繼續,并不是建構卡死了
之後還有一個确認,輸入y或者回車都可以來繼續
最後出現BuildSuccess即表示項目建構成功,點選右下方的open即可打開工程
4.配置該項目的settings.json
項目打開後,先對該項目的settings.json檔案進行配置,這個屬于該項目私人的配置檔案,不同于上面全局的settings.json,它存在于本項目的.vscode檔案夾中,一開始是看不見的。還是shift+ctrl+p快捷鍵打開搜尋,輸入settings.json,打開工作區設定的那個。
向其中添加配置資訊,我的配置如下所示,多多少少與全局的settings.json中的配置有點重複備援,如果覺得礙眼可以将重複配置的資訊删除掉。
補全項目結構代碼與依賴導入
打開項目之後,檔案目錄并不完整,缺失了很多,maven的老毛病了,自己手動補全檔案夾,工程目錄如下
主要在main下建立 java resources兩個目錄
然後将需要遷移的項目代碼進行填充進去,後端Java代碼放入到java檔案夾中,前端頁面代碼放到webapp檔案夾中,注意web.xml别忘了替換掉。
導入代碼後會發現Java代碼爆紅了,是因為沒有導入依賴所緻,下面進行依賴導入。
由于是Maven項目,是以直接使用自帶的pom.xml進行導入了,對于中央倉庫上有的依賴包,
直接點選Maven上的+号進行搜尋添加對應的依賴即可。或者直接拷貝依賴的gav坐标到pom中也可以。
如果需要導入本地的第三方jar包,就隻能一個個手動導入了,全部添加到pom.xml中去。下面做一個依賴的結構示範。就是這樣的格式一個個的導入即可。
。
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<outputDirectory>${basedir}/target/DEMO/WEB-INF/classes</outputDirectory>
在 pom.xml 中plugins下的添加以下代碼
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>WEB-INF/lib</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
編譯項目
下面開始編譯項目,包括前端檔案與後端檔案
點選Maven頁籤中的compile來将後端檔案編譯成class檔案,儲存到target下的指定檔案夾中去了
在工具的最底端,有一個熱部署的按鈕,隻需要第一次的時候點選就可以了,以後更改項目檔案的時候直接ctrl+s儲存就會進行熱部署,就不再需要按了。
點選之後,會掃描之前settings.json中配置的檔案路徑,将其中的檔案進行拷貝到target下的項目檔案中,每次ctrl+s都會觸發更新操作的。
然後檢視項目的target下的對應項目檔案夾,後端檔案被編譯到了WEB-INF檔案夾下面了。如下所示。
--------------------------使用 tomcat 調試 web 項目---------------------------------------------------
安裝 Community Server Connectors 插件 後點選側邊欄 TOMCAT SERVERS 右邊 + 号,選擇本地安裝的 tomcat
Community Server Connectors配置
//Community Server Connectors配置
"redhat.telemetry.enabled": true,
"rsp-ui.enableStartServerOnActivation": [
{
"id": "redhat.vscode-community-server-connector",
"name": "Community Server Connector",
"startOnActivation": true
}
],
OK,整體的工程已經部署完畢了,下面要将工程部署到Tomcat伺服器上去了。
安裝Community Server Connectors插件之後會在控制欄多了一個SERVERS的頁籤,打開并添加伺服器。
點選建立新的Server
然後會詢問你是否下載下傳伺服器,如果本機沒有Tomcat的話就點選yes,然後選擇對應版本下載下傳就好了。
由于我的機子上有Tomcat,直接點選No,user server on disk了。
然後這邊會讓你選擇你本地的Tomcat安裝路徑,選擇到該路徑就可以了。
然後會出現Tomcat的配置項,有需要可以改個名字啥的,然後無腦Finish即可。
後下面就會出現一個Tomcat了,下面進行項目部署。
打包項目
- ctrl+shift+P,輸入maven,點選執行指令,選擇package
添加項目到Tomcat伺服器中
- 右鍵點選Tomcat 9.x(started)(unknown),選擇Add Deployment添加部署,選擇target\demo.war
- 選擇No(不修改參數)
- 右鍵點選Tomcat 9.x(started)(unknown),選擇Publish Server(Full)
然後就會發現對應Tomcat下面多了個項目,這就是咱部署的項目。
接下來先啟動Tomcat,然後點選Publish Server(Full)進行項目釋出
接下裡就可以通路項目了,可以自己手動輸入localhost:8080/項目位址,還有一種簡單的辦法。點選Server Actions頁籤
==============================================================
tomcat配置 /usr/local/tomcat/conf/server.xml在Engine元素中增加如下配置
<!-- 第二個同端口虛拟機 -->
<Host name="localhost.tomcat-study.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="study_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="Study.war" reloadable="true" deubg="0" />
</Host>
注意都是用的war包
vscode
修改域名
{
"args.override.boolean": "false",
"args.program.override.string": "start",
"args.vm.override.string": "-Djava.util.logging.config.file=/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dcatalina.base= -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/temp",
"id": "Tomcat 9.x",
"id-set": "true",
"org.jboss.tools.rsp.server.typeId": "org.jboss.ide.eclipse.as.server.tomcat.90",
"server.base.dir": "/usr/local/tomcat",
"server.deploy.dir": "${server.base.dir}/webapps/",
"server.home.dir": "/usr/local/tomcat",
"server.http.host": "localhost.tomcat-study.com",//修改這裡
"server.http.port": "8080",
"deployables": {
"/home/liwu/project/java/Study/target/Study.war": {
"label": "/home/liwu/project/java/Study/target/Study.war",
"path": "/home/liwu/project/java/Study/target/Study.war",
"options": {}
}
}
}
配置完畢後: 操作步驟 按照如下順序執行
以下解決Maven項目導入Vs Code 後在資料總管不能加載出Maven标簽項的問題。問題如下:
解決方案如下:
在資料總管項目标簽項下方的空白處右鍵:
選擇“從Maven原型建立新項目”後,就會馬上在資料總管下發加載出MAVEN标簽項,
按ESC鍵取消指令行的輸入選擇,點選MAVEN标簽項,maven項目就會加載出來了。就可以像Intellij idea的Maven項目一樣進行管理了