vscode开发maven的javaweb项目,并部署到tomcat及配置

news2024/11/27 16:28:34

1、安装并配置JAVA环境

我的是用的jdk1.8.0_181(安装自行解决,直接可以下载免安装配置环境)

配置JAVA_HOME,设置路径为C:\Program Files\Java\jdk1.8.0_181,

'

添加bin到path环境变量:

2、安装Maven

1)官网下载并解压(Maven – Download Apache Maven):

解压到电脑,我解压到C盘,如下图所示:

 手动建立maven-repo文件夹,如上图红框所示。

2)配置settings.xml

配置<localRepository>C:\apache-maven-3.8.6\maven-repo</localRepository>,路径为刚刚新建的maven下的文件夹maven-repo的路径,如下图所示:

 配置从阿里云下载(阿里云下载快一些),如下图所示:

 3)配置环境变量

配置M2_HOME和MAVEN_HOME,

如下图所示:

将maven的bin目录添加到path环境变量下,如下图所示:

  4)查看

配置完成后,控制台输入mvn -version,查看是否安装成功

(配置完成maven后,如果打开了vscode,必须重新启动vscode,否则cmd识别不到命令,我刚开始就是没有重启vscode,在maven package的时候就提示找不到package错误。)

 3、安装tomcat

请自行到tomcat官网下载,我下载的是apache-tomcat-9.0.69,解压到C盘,如下图所示:

点击bin/startup.bat启动,至于出现中文乱码,主要是更改更改配置文件(conf/logging.properties将UT-8更改为GBK):java.util.logging.ConsoleHandler.encoding = GBK

4、环境配置完成,开始vscode写代码了

1)下载vscode插件

 2)配置maven

在设置里面输入maven,配置settings.xml(实际maven的settings.xml)路径,如下图所示:

3)配置tomcat

创建tomat server,如下图所示,在Community Server Connector右键,选择:

在弹出的页面中,选择如下图所示:

然后选择tomcat路径,如下图所示:

接下来配置根据情况,可以不配置,直接点击"Finish"。

server就多了tomcat,如下图所示:

在该Server上右键,即可实现相关操作

 右键点击”Start Server“,即开始启动tomcat,如下图所示:

启动完成后,右键点击”Server Actions...",选择“Show in browser...",在选择打开的网站”http://localhost:8080",即可打开tomcat网页:

 4)搭建项目

(1)创建rest风格的项目(未打包成功,待研究,rest可参考第二种方式)

在(https://start.spring.io/)下创建SpringBoot初始项目,如下图所示:

  其他项目信息根据需要自行调节,java版本与本地一致,我选的17。

【【【【【【

注意:3.0的项目jdk版本需要更新到17,前面所有环境变量与java jdk相关的需要更新。

下载路径:Java Downloads | Oracle

下载bin包,解压到相应位置,设置环境变量即可。

然后在控制台查看java版本,如下图所示:

 】】】】】】

项目下载完成后,解压zip文件,用vscode打开,就是一个初始的spring rest项目。

如下图所示:

如果不更改java版本,我用的java jdk是1.8,而项目创建的版本是17,因此,如果直接用maven的package,会出现如下错误:

中途vscode提示需要安装什么,点击安装即可。

在\restapi\src\main\java\cn\scrs\restapi目录下(根据实际更改)创建一个目录controller,并在其中新建一个java文件HelloWorld.java,内容如下:

package cn.scrs.restapi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorld {
    @RequestMapping("/helloworld")
    public String Hello(String desp) {
        return "Hello World!! " + desp;
    }
}

 如下图所示:

 直接点击RestapiApplication.java,点击运行按钮,即可运行程序,如下图所示:

 运行结果如下图所示:

 在浏览器输入http://localhost:8080/helloworld?desp=first

 表示成功。

打包方式与后面一致,参考后面内容(打包后始终访问不了,出现404问题,不知道为啥)。

打包输出文件名称更改,打开pom.xml文件,设置输出名称:

 打包完成后,生成war包,如下图所示:

(2)从marven原型创建项目

在VSCode同时按下ctrl+shift+p打开搜索,输入maven,选择从创建maven项目:

 然后选择项目类型为maven-archetype-webapp:

选择完成后,配置版本号、输入命名空间、保存路径等,即开始创建项目,等待...,如下图所示:

过程中,输入回车,然后输入Y即可,完成后,项目即创建完成。

打开项目,如下图所示:

 建立java和resources文件夹:

接下来配置restful格式(根据实际情况考虑是否需要):

打开pom.xml文件,引入rest包(版本号等根据需要,包根据需要):

<dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-core</artifactId>
      <version>1.3</version>
  </dependency>
  <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-server</artifactId>
      <version>1.3</version>
  </dependency>
  <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-client</artifactId>
      <version>1.3</version>
  </dependency>
  <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.14</version>
  </dependency>
  <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>jsr311-api</artifactId>
      <version>1.1.1</version>
  </dependency>
  <dependency>
      <groupId>asm</groupId>
      <artifactId>asm</artifactId>
      <version>3.2</version>
  </dependency>

如下图所示:

配置src/main/webapp/web.xml文件,添加servlet对应内容:

<servlet>
    <servlet-name>restapi</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

    <init-param>
      <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
      <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
    </init-param>

    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>restapi</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>restapi</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

如下图所示:

 注意几个标红的地方,尤其是

<init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>restapi</param-value>
    </init-param>

这是设置你的包名,所有的rest相关的类放在该包下。

在src/main/java目录下新建restapi文件夹,作为restapi的包名(与上述配置一致),新建hellorest.java,代码如下所示:

//包名,所有rest的包,与web.xml配置一致
package restapi;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.DELETE;
import javax.ws.rs.PUT;
@Path("/hello")
public class hellorest {
    @GET
    @Path("")
    public String HelloRest() {
        return "hello rest main";
    }
    @GET
    @Path("get1")
    public String Get1() {
        return "hello rest get";
    }
    @POST
    @Path("post1")
    public String Post1() {
        return "hello rest post";
    }
    @PUT
    @Path("put1")
    public String Put1() {
        return "hello rest put";
    }
    @DELETE
    @Path("del1")
    public String Delete1() {
        return "hello rest del";
    }
}

新建restapiroot.java,作为rest api的根,代码如下所示:

package restapi;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
@Path("")
public class restapiroot {
    @GET
    @Path("")
    public String RestapiRoot(){
        return "rest api root";
    }
}

最后代码如下图所示:

 完成后,安装后面的打包,运行,即可运行。

运行结果如下图所示:

 

 

  put、delete、post等自行测试。

 5)运行并打包项目为war文件

vscode中按ctrl+shift+p,然后输入maven,选择"执行命令...",

然后选择”package“,如下图:

 开始打包,打包完成后,生成war文件:

clean为清除,其他命令自行理解。

6)部署发布

在server上右键,点击Add Deployment:

 然后选择”File“,并选择刚刚生成的war路径:

 

完成后,及添加到tomcat下了,如下图所示:

server上右键点击”Pulbic Server“:

 完成后,完成了发布。

7)运行

如果Server未启动,先启动Server,

Server上右键点击”Server Actions...",依次做如下操作:

 

 完成后,即启动了,在浏览器中可查看:

 这样表示部署成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

垃圾分类小程序系统毕业设计,垃圾分类小程序系统设计与实现,垃圾分类系统毕设参考

功能清单 【管理员功能】 会员管理&#xff1a;查看网站所有注册会员信息&#xff0c;支持删除 资讯录入&#xff1a;录入资讯标题、时间、资讯内容等 管理资讯&#xff1a;查看现有资讯列表&#xff0c;支持修改和删除功能 留言管理&#xff1a;查看小程序留言列表&#xff0…

Azide PEG2 Pyrene|2135330-58-2|Pyrene标记的PEG连接物

Pyrene-PEG2-azide是一种含有叠氮化物基团的Pyrene标记的PEG连接物&#xff0c;它可以用任何含炔分子进行点击化学标记&#xff0c;从而将任何分子转化为含Pyrene的探针。亲水性PEG连接剂可以增加水溶液中生物分子的溶解度并促进其附着。 西安凯新生物科技有限公司azide系列产品…

Python人工智能学习路线(万字长文)

前言 随着全球市场的饱和&#xff0c;以及模式创新的用尽&#xff0c;传统的互联网产业已经进入成熟阶段&#xff0c;不会再有突飞猛进的发展。 &#xff08;文末送读者福利&#xff09; 接下来&#xff0c;是人工智能和大数据展露锋芒的时候了&#xff0c;它们在未来 10 年…

欧拉公式-上帝创造的公式

欧拉公式&#xff1a; &#xff08;1&#xff09;分式里的欧拉公式&#xff1a;   a&#xff3e;r/(a-b)(a-c)b&#xff3e;r/(b-c)(b-a)c&#xff3e;r/(c-a)(c-b)   当r0,1时式子的值为0   当r2时值为1   当r3时值为abc   &#xff08;2&#xff09;复变函数论里的…

firefly3399专题1-uboot2022.10的移植

硬件信息&#xff1a; friefly3399一块&#xff0c;2GB内存/16Gemmc。 软件信息&#xff1a; ubuntu18.04虚拟机&#xff0c;内部有firefly的SDK包。 参考资料&#xff1a;[ROC-RK3399-PC Pro] 手把手教你移植主线U-Boot&#xff08;基于v2022.04-rc5版本&#xff09;_Neution…

数据库变更管理:Liquibase or Flyway

《从零打造项目》系列文章 工具 比MyBatis Generator更强大的代码生成器 ORM框架选型 SpringBoot项目基础设施搭建 SpringBoot集成Mybatis项目实操 SpringBoot集成MybatisPlus项目实操 SpringBoot集成Spring Data JPA项目实操 数据库变更管理 数据库变更管理&#xff1a;Li…

ZMQ/ZeroMQ的三种消息模式

一、 Reuqest-Reply(请求-应答模式) 1、使用Request-Reply模式&#xff0c;需要遵循一定的规律。 2、客户端必要先发送消息&#xff0c;在接收消息&#xff1b;服务端必须先进行接收客户端发送过来的消息&#xff0c;在发送应答给客户端&#xff0c;如此循环 3、服务端和客户端…

RabbitMQ(基于AMQP的开源消息代理软件)

一、AMQP高级消息队列协议 &#xff08;1&#xff09;介绍 AMQP&#xff0c;即Advanced Message Queuing Protocol&#xff0c;一个提供统一消息服务的应用层标准高级消息队列协议&#xff0c;是应用层协议的一个开放标准&#xff0c;为面向消息的中间件设计。基于此协议的客…

图神经网络关系抽取论文阅读笔记(四)

1 GDPNet:用于关系提取的潜在多视图图的精炼(GDPNet: Refining Latent Multi-View Graph for Relation Extraction) 论文&#xff1a;GDPNet: Refining Latent Multi-View Graph for Relation Extraction&#xff0c;2021 1.1 引言 由于基于 BERT 等序列模型与基于图模型算法是…

模块首页UX交互升级,接口测试支持禁用本地执行,MeterSphere开源持续测试平台v2.4.0发布

2022年11月28日&#xff0c;MeterSphere一站式开源持续测试平台正式发布v2.4.0版本。 在这一版本中&#xff0c;MeterSphere在测试跟踪和接口测试模块中对首页进行了UX交互升级&#xff0c;将部分指标进行了饼图、柱状图的展示优化&#xff0c;同时根据社区用户的实际使用反馈…

计算机毕业设计【HTML+CSS+JavaScript服装购物商城】毕业论文源码

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

JS进阶第二篇:函数参数按值传递

文章目录函数参数按值传递按值传递引用传递&#xff1f;应用函数参数按值传递 按值传递 在 JavaScript 中&#xff0c;我们有函数以及传递给这些函数的参数。但是 JavaScript 对如何处理你传递的内容并不总是很清楚。当你开始进入面向对象开发的时候&#xff0c;你可能会发现…

【Hack The Box】Linux练习-- Shibboleth

HTB 学习笔记 【Hack The Box】Linux练习-- Shibboleth &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月27日&#x1f334; &#…

3.8 如何在小红书上蹭热点,这里有8个方法【玩赚小红书】

在小红书究竟能不能蹭到热点?有哪些热点可以蹭?怎么蹭?是很多小红书运营者关心的问题。在我看下&#xff0c;小红书热点分为官方热点、事件热点和账号热点三类&#xff0c;用好这8个方法&#xff0c;让笔记获得更多流量。 ​ ​ 一、官方热点 官方热点是小红书推出&#x…

RocketMQ 消费端如何监听消息?

前言 RocketMQ消息消费者是如何启动的&#xff0c;有一个步骤是非常重要的&#xff0c;就是启动消息的监听&#xff0c;通过不断的拉取消息&#xff0c;来实现消息的监听&#xff0c; 那具体怎么做&#xff0c;让我们我们跟着源码来学习一下~ 流程地图 源码跟踪 这一块的代…

ipv6地址概述——配置ipv6

个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每天分享网络运维知识与技能。个人爱好: 编程&#xff0c;打篮球&#xff0c;计算机知识个人名言&#xff1a;海不辞水&#xff0c;故能成其大&#xff1b;山不辞石…

加拿大留学一定要善用这八个服务系统

加拿大留学之所以如此受大家欢迎&#xff0c;主要也是由于其优质的教育、易移民等优势&#xff0c;而对于学生本人来说&#xff0c;满意的学习体验&#xff0c;也是留学生涯中不可缺少的重要一环。 加拿大大学都拥有成熟完善的学生服务系统&#xff0c;帮助学生们更好的学习、…

Code learning tools

这里写目录标题1. Code learning tools1.1. Chrome Sourcegraph plugin1.2. Print statements never go out of style1.3. When in doubt, PANIC1.4. Visit the past with GitHub blame1. Code learning tools I know what you are thinking. Brad, you are new to Kube and G…

有哪些电容笔值得推荐?值得买的电容笔测评

和苹果原装的电容笔不同&#xff0c;普通电容笔没有苹果电容笔的独特重力压感&#xff0c;只是给人一种倾斜的压感。不过&#xff0c;如果你对画画没有什么特别的需求&#xff0c;也不必买昂贵的Apple Pencil&#xff0c;平替电容笔就足够我们使用了。接下来&#xff0c;我会给…

全球133种语言自动翻译mishop大米外贸商城系统

提示&#xff1a;133种语言自动翻译&#xff0c;开源无加密。 文章目录介绍安装方法部分代码展示学习资料下载地址成品效果图片展示介绍 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 大米外贸商城系统 简称mishop 完全开源版&#xff0c;只需做一种语言一…