建议: 推荐使用idea进行项目打包,因为我本身也是用eclipse开发,但是在打包的过程中遇到了很多问题,修改pom.xml后问题不断,所以推荐使用idea,付费的软件真的不一样,可以去某宝上买个账号很便宜的。下面进入正题
一、项目打包为war
- 如果你也是采用eclipse开发,那么将项目导入idea。
- 修改pom.xml文件,添加如下内容
默认是打包成jar包,添加这一句就会将打包方式改为war包
<packaging>war</packaging>
添加打包成war包所需要的依赖<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c1c78146968214723993a7db54544b98.png)
- 打包成war包其实就是使用了web.xml的形式,但是SpringBoot中并没有web.xml文件,所以我们现在需要写一个启动类,来符合web.xml的形式。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
/**
* 继承SpringBootServletInitializer,相当于使用web.xml的形式去启动部署
*/
@SpringBootApplication
public class WarStartApplication extends SpringBootServletInitializer {
/**
* 重写配置
* @param application
* @return
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
return application.sources(WarStartApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(WarStartApplication.class, args);
}
}
- 如果是要部署在云服务器上的话,application.properties中的一些配置信息也需要做相应的修改,如数据库连接的url、用户名、密码等。
- 点击右侧的Maven视图,展开root节点,在lifecycle中先双击clean。完成之后双击package进行打包
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/fb1eb5508794020bbeb4b7ec85a0a6c2.png)
- 成功之后,在控制台中可以看到打包好的war包存放的目录。到对应的目录就可以找到了
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7d349050dfa776d9dedfad0e97a3190a.png)
二、部署到云服务器的tomcat
- 将刚才打包好的war包上传到服务器中
- 将war包拷贝到tomcat目录下的webapps文件夹中
注:一开始是没有noble-wx文件夹的,noble-wx文件夹是在tomcat运行后自动生成的
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/799dfc9b9cf83efba05d98eea27519b5.png)
3. 重启tomcat服务器
4. 进入tomcat文件夹中的logs目录下,我们主要关注这两个文件。catalina是tomcat的启动日志,tomcat8-stdout是我们打包的项目的启动日志。打开之后主要看一下有没有报错信息,如果没有的话就说明部署成功了。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/db1cb2a16681ddd325d912a2674d4973.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/21b4333af9f424da5c26739562554c62.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cfc27efd0b7037e956866d117a90f7ec.png)
5. 我之前有写好一个controller类,可以来测试一下。我们在本机的浏览器中输入ip地址,如果有域名输入域名也可以,但是如果没有域名前面一定要用http,不能用https。
6. 我们使用的地址是:ip地址(域名)/war包名/controller的RequestMapping。可以看到我们已经成功访问到了。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a96e5766756fb4e203fe3b67e6f800c5.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/88e1e6e696497fb21340172ce3ce6146.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5cbb4ae38f7d889180e073ffaa13e1d2.png)