100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 将JavaWeb项目war包部署到阿里云服务器

将JavaWeb项目war包部署到阿里云服务器

时间:2020-08-12 19:34:20

相关推荐

将JavaWeb项目war包部署到阿里云服务器

文章目录

JavaWeb项目部署到阿里云服务器1. 把项目打包成war包1.1 方法一1.2 方法二2. 配置服务器的jdk和tomcat环境3. JavaWeb项目部署

JavaWeb项目部署到阿里云服务器

服务器:阿里云服务器 + Ubuntu 18.04 64位Linux操作系统

集成环境:IntelliJ IDEA .1

项目类型:SpringBoot 2.2.6

1. 把项目打包成war包

1.1 方法一

在使用IDEA创建SpringBoot项目时,选择打成war包:

1.2 方法二

默认maven项目如果是打成jar包,这时需要一些修改使得项目能够打成war包。

(1)修改pom.xml文件中下面的两处

修改pom.xml指定打包方式为 war 包:<packaging>war</packaging>。

修改SpringBoot内置的Tomcat依赖,指定scope为provided(provided说明对编译和测试有效,但在运行时无效),因为我们想把war包放在外置的Tomcat中运行。

<groupId>com.example</groupId><artifactId>test</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>test</name><description>Demo project for Spring Boot</description><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>

(2)编写一个SpringBootServletInitializer的子类,并调用configure方法

每个SpringBoot项目创建时都有一个application主类,我这里的名称为TestApplication。主类不需要修改。

这里还需要自己另外创建一个继承SpringBootServletInitializer的子类,我这里的名字为ServletInitializer。

package com.example.test;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;public class ServletInitializer extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(TestApplication.class);}}

(3)打包

注意:最好不要使用网上的一些【Project Structure -> Artifacts -> Web Application:Archive】方法打成war包。

我也尝试过,虽然成功了,但是发现war包里的pom.xml文件并没有相应的修改,也就是没有屏蔽springboot自身的tomcat,导致项目启动后它默认走springboot自己的tomcat,然后出现无法访问controller层等问题。

2. 配置服务器的jdk和tomcat环境

(1)服务器配置jdk和Tomcat可以查看这个配置:/smuzoey/p/11691412.html

(2)对于配置jdk和Tomcat需要从本地上传文件到服务器,可以看我的另一篇博客:/qq_42780289/article/details/105475069

(3)启动Tomcat默认访问的端口是8080,阿里云服务器默认没有配置,需要手动配置:

3. JavaWeb项目部署

(1)将上面的war包上传到服务器,不知道怎么上传的可以参考:/qq_42780289/article/details/105475069。

(2)将war包移动到Tomcat文件夹中webapps下面。

(3)如果Tomcat已经启动,那么war包会自动解压,我们就可以通过【服务器公网ip:8080/war包名称/访问的界面】来访问。如果Tomcat没有启动,需要进入Tomcat的bin目录,执行./startup.sh命令来启动Tomcat。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。