沉铝汤的破站

IS LIFE ALWAYS THIS HARD, OR IS IT JUST WHEN YOU'RE A KID

记一次VsCode下Maven与JSP的配置

0x00 前言


因为天使学校上课要教JSP,所以就不得不配置一下了。本来偷懒下了jspstudy,但是那个导第三方jar的话,我不确定能不能。另外,我的IDEA是社区版,虽然可以用学生邮箱来免费用专业版。但终究还是对vscode爱的深沉😅,所以就自虐的拿vscode配置了jsp+maven,用了一下午吧。

0x01 环境的搭建


JDK

自己电脑上是JavaSE,目前好像来说也行,但是看了一下课程,后面好像有servlet的课程,因为不确定javaSE行不行(最讨厌的语言就是java了),还是再装一个JavaEE吧。(后来发现tomcat里就有,所以不下了)。

Maven

自己随便到官网下一个就完事了,压缩包随便解压,然后配置一下环境变量(上文的JDK的环境变量我就不说了,自己去查吧)。照着网上配置了个MAVEN_HOMEM2_HOME(虽然不确定哪个可以不要)。

image-20210415200034913

然后在PATH变量里面添加一个%MAVEN_HOME%\bin的值就好了。在cmd中测试一下:

image-20210415200444081

vscode

这时候在vscode里,把java一件套Java Extension Pack - Visual Studio Marketplace给安装了。然后就可以新建项目了,按F1,然后输入Maven,再选择create Maven project/从原型创建maven项目,这时候会让你选择原型,我选择的是servlet-...Webapp貌似(看你需求吧)。图为项目结构。

创建的时候,会有groupid的什么的要输入,groupId 就填 com.xx这种包名就好了,artifactId随便输入个什么,然后别的好像都可以默认。

这里有个坑,不知道为什么,我莫名其妙显示不出一个原型,明明之前没下maven都有的,然后差不多浪费了一两个小时吧,试过换jdk版本,插件重装之类的,后来把插件包里的Maven for Java回退了一个版本,解决了问题。

image-20210415201419341

Tomcat

简单的下载然后解压就好了,然后是配置一下环境变量,新建CATALINA_HOMECATALINA_BASE,虽然不知道是不是都要,但是配置一下就完事了。然后就又是在PATH里面添加%CATALINA_HOME%\bin%CATALINA_BASE%\bin了。

之后再到vscode里面下个Tomcat for Java,然后如图所示的找到含tomcat的文件夹就行了:

image-20210415202246261

这里还有一个坑,md,傻逼微软(vscode除外)。因为java安装到了C盘下的Program Files下了,而这个文件夹是有空格的,所以会导致Tomcat启动失败。这里我的解决办法是把setting.json中的相应设置改成”java.home”: “C:\progra1\Java\jdk-14.0.2”, 也就是把Program Files换成了progra1

导入外部包

首先在WEB-INF下新建一个lib文件夹(据说是规范,你放别的地方也行),现在整个目录结构如图所示:

image-20210415203529905

然后我们把第三方包放进lib,这里我放的是用于连接mysql数据库的包。但是这样还不行,我们还需要在.classpath文件夹里面配置一下。vscode默认隐藏了此文件,所以如果你想改的话,可以直接进入到目录下,用记事本打开,然后修改;或者按ctrl + ,,然后搜索file.exclude,然后在里面把隐藏的文件排除就能在vscode的项目资源管理器里看到了。要添加的东西,如下图所示:

image-20210415204326426

<classpathentry kind="lib" path="src/main/webapp/WEB-INF/lib/mysql-connector-java-5.1.39-bin.jar" />,kind写”lib”,然后path指向lib下的外部包就行了。

编译并打包

按下ctrl + ` ,打开控制台,然后依次输入mvn compilemvn package,这时候在target目录下就能找到一个war包了。

在tomcat上运行

右键target目录下的项目同名文件夹,然后就可以看见两个选项:

image-20210415205542884

这时候打开浏览器,访问http://127.0.0.1:8080/项目名(eg:http://127.0.0.1:8080/myjsp-Test/)就能成功运行了。

image-20210415205837902

0x02 总结


其实可以发现有一个IDE,是多么美妙的事情(😭)。不过这也算一种体验吧,哈哈,说不定哪天就有用了。