建议: 推荐使用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>
- 打包成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进行打包
- 成功之后,在控制台中可以看到打包好的war包存放的目录。到对应的目录就可以找到了
二、部署到云服务器的tomcat
- 将刚才打包好的war包上传到服务器中
- 将war包拷贝到tomcat目录下的webapps文件夹中
注:一开始是没有noble-wx文件夹的,noble-wx文件夹是在tomcat运行后自动生成的
3. 重启tomcat服务器
4. 进入tomcat文件夹中的logs目录下,我们主要关注这两个文件。catalina是tomcat的启动日志,tomcat8-stdout是我们打包的项目的启动日志。打开之后主要看一下有没有报错信息,如果没有的话就说明部署成功了。
5. 我之前有写好一个controller类,可以来测试一下。我们在本机的浏览器中输入ip地址,如果有域名输入域名也可以,但是如果没有域名前面一定要用http,不能用https。
6. 我们使用的地址是:ip地址(域名)/war包名/controller的RequestMapping。可以看到我们已经成功访问到了。