vscode搭建java环境(vscode搭建javaweb)
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. 安装Java Extension Pack这个集成了一下插件:(必须)
Language Support for JavaTM by Red Hat
Debugger for Java
Java Test Runner
Maven for Java
IntelliCode
Java Dependency Viewer
B. 其他插件
Deploy插件(必须) Deploy插件配置在后面
Community Server Connectors 插件
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中去。下面做一个依赖的结构示范。就是这样的格式一个个的导入即可。
对了,还需要配置maven编译class文件的路径信息,也是在pom.xml中配置,在build标签下新增这几行。
<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项目一样进行管理了