赞
踩
https://code.visualstudio.com/docs/java/java-tutorial
VSCode中开发JavaWeb项目(Maven+Tomcat+热部署)_vscode运行javaweb项目_陌路skr的博客-CSDN博客
【VScode】Windows10上用Community Server Connector配置Tomcat并部署Maven项目 - 知乎
配置好环境变量JAVA_HOME
打开vscode,安装java相关插件
当然,还有更多的Java插件,开发者可以根据自己的需求和偏好,在「Marketplace」中自行下载和配置。
官方链接:https://marketplace.visualstudio.com/vscode
===============================安装==================================================
A. 安装Java Extension Pack这个集成了一下插件:(必须)
Language Support for Java™ 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了,下面进行项目部署。
打包项目
添加项目到Tomcat服务器中
点击Add Deployment(部署)选项
然后就会发现对应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项目一样进行管理了
选择“从Maven原型创建新项目”后,就会马上在资源管理器下发加载出MAVEN标签项,
按ESC键取消命令行的输入选择,点击MAVEN标签项,maven项目就会加载出来了。就可以像Intellij idea的Maven项目一样进行管理了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。