使用vscode搭建javaweb项目的详细步骤
作者:你有什么超能力 发布时间:2022-08-05 01:12:43
工具准备
jdk, maven, tomcat9, vscode;
上述软件的安装配置在百度就能找到很多教程, 所以此处不详述.
(jdk使用1.8以上版本的就行, tomcat的话最好用9, 10的话由于httpservlet类的包名修改了所以会出现一些不兼容的错误导致运行失败,剩下两个使用哪个版本都可以).
由于vscode不能直接创建javaweb项目, 所以使用maven的webapp项目;
vscode需要下载的插件如图:
下载完这两个插件之后会自动下载一些依赖的插件; 下载完插件重启vscode后需要修改maven的设置, 在设置中搜索: maven, 修改如下图项为本机放置maven配置文件的路径:
然后添加tomcat插件, 回到主页点击下图加号, 在弹出的文件选择窗口中选择本机放置tomcat的文件夹即可:
添加后如图:
创建web项目
将所需工具准备好后就可以开始部署web项目了, 在vscode中按下ctrl+shift+p, 输入maven点击下图指出项:
然后选择webapp, 如图指出项:
选择一个版本, 这里我选择1.4版, 如图:
然后选择一个文件夹存放项目, 如图:
此时maven开始部署项目, 在vscode的输出窗口中可以看到, 当出现如下行时, 需要我们输入项目的groupId, 此处我设置为demo, 如图:
按下回车, 再输入artifactId, 此处我也设置为demo, 一般规定是(com.xxx.xxx)因为是演示所以就不那么严谨了, 如图:
按下回车, 此时提示我们选择version直接回车就行
提示我们选择package, 直接回车
提示Y, 是否确认, 回车确认
出现
代表我们项目部署成功了.生成的项目结构如下图:
然后创建我们需要的目录, java, test, resources, 创建后如图:
其中java文件夹用来存放java文件, resources用来存放资源文件(maven编译时会识别文件夹名所以必须要叫resources, 不然就要在pom.xml中手动配置资源文件夹)到此一个web项目的框架已经建好了, 使用maven创建web项目的话导包都是在pom.xml中进行, 这些有关maven的使用都可以通过百度搜索到, 此处不详述. 当然也可以直接将包放在webinf目录下(不推荐). (此处经历过一些挫折, 在使用tomcat10时,由于其httpservlet类的包名发生变化了, 不再是javax开头, 当时我在pom.xml文件中一直引用javax开头的servlet-api包, 被折磨了很久, 后来直接使用tomcat的servlet-api包就解决了, 但再到后来做ssm项目时, 由于spring-mvc框架中也是使用的javax开头的servlet-api包, 导致项目又挂掉了, 最后还是弃用了tomcat10, 改用回tomcat9, 算是走过的一些坑吧- -||)
运行项目
按下ctrl+shift+p, 输入maven, 选择如下图指出项:
选择package, 如下图指出项:
此时maven会对项目编译, 生成target目录, 在target目录下存放的都是编译之后的文件, 如果后续开发项目报错的话, 比如配置文件啊, 包缺失啊之类的都应该先到target目录下看看. 在target目录下, 可以看到我们打包好的项目文件, 如图:
右击选择用tomcat运行, 如图:
输出窗口没有报错的话, 展开tomcat插件, 右击如图项, 选择打开浏览器:
运行结果如图:
这里显示的是index.jsp的内容.到此, 一个maven web项目就搭建好了. 使用vscode的maven插件其实也能编译, 但肯定是没有直接package那么方便的, 平常比较常用到的话一般是clean, 用来清理target目录, 其实一个package命令实际上是maven插件的依次执行, 在输出窗口也有体现出来, 有关maven插件的更多使用可以通过百度得到, 此处不详述, 如图为clean命令, 点击图中的三角形即可执行:
执行后项目中的target目录就没有了.
来源:https://blog.csdn.net/weixin_44573776/article/details/107899379


猜你喜欢
- 首先,确保 IDEA 软件正确安装完成,Java 开发工具包 JDK 安装完成。IDEA 的 Java 项目 (Project) 则相当于
- SpringMVC异常处理机制(一)项目前准备首先参照文章Spring课程工程构建+SpringMVC简介及其快速入门搭建项目搭建好一个项目
- 将Excel转为PDF格式时,通常情况下转换出来的PDF页面都是默认的宽度大小;如果Excel表格数据的设计或布局比较宽或者数据内较少的情况
- 前言本文的记录如何用CustomPaint、GestureDetector实现一个进度条控件。首先需要说明的是 flutter Materi
- 在一些需要经常更新页面数据的网站中,一般访问量不是很大的都直接发布的是带后台代码,每次访问都是有数据库交互的。但是一旦访问量增加了,那么这些
- jar包就指第三方提供的开源的API,这些API不属于JDK的,需要通过导入才能使用。添加和导入的区别注意:本文里的 导入 和 添加 jar
- WPF实现一个简单的多运算符表达式计算器,供大家参考,具体内容如下1.先看下效果图首先外围给了一个grid 把他分成了两行 第一行用来显示文
- 前言Java线程池中提交任务运行,通常使用execute()方法就足够了。那如果想要实现在主线程中阻塞获取线程池任务运行的结果,该怎么办呢?
- 本文的主要内容包括在下图,下面来一起看看吧。1、&和&&的区别2、switchswitch语句能否作用在byte,能
- 一、准备官网下载IntelliJ IDEA 2017 并安装好下载汉化包 (链接: https://pan.baidu.com/s/1JkU
- Kotlin 面向对象这几天一直在准备考试,实在没有时间,已经过去了这么久,终于要到面向对象了!先看看Kotlin中的类长什么样吧.可以看到
- Android在启动模拟器AVD时,出现下面的异常:“Failed to allocate memory: 8”,怎么办?此错误是我们在允许
- protobuf 是 google的一个开源项目,可用于以下两种用途:(1)数据的存储(序列化和反序列化),类似于xml、json等;(2)
- 前言Spring 框架作为一个管理 Bean 的 IoC 容器,那么 Bean 自然是 Spring 中的重要资源了,那 Bean 的作用域
- 一、引言以前在饿了么上面订餐的时候,曾经看到过这么一个特效,就是将商品加入订单时,会有一个小球呈抛物线状落入购物车中,然后购物车中的数量会改
- 本文实例讲述了Java继承Thread类创建线程类。分享给大家供大家参考,具体如下:一 点睛通过继承Thread类创建线程并启动多线程的步骤
- 什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么
- 最近跳槽去新公司,接受的第一个任务是在 一个电商模块的搜索功能以及搜索历史记录的实现。需求和淘宝等电商的功能大体差不多,最上面一个搜索框,下
- 前言其实很多人都会碰到文本不对齐,文字不对齐的情况,但是只要不明显被提出,一般都会置之不理。我关注这个问题是因为有个老哥问我倒计时的时候,1
- 本文实例讲述了Java单例模式下的MongoDB数据库操作工具类。分享给大家供大家参考,具体如下:我经常对MongoDB进行一些基础操作,将