阿里云服务器搭建 踩坑日志(四)jar包改war包

spring boot 框架下打包,默认是jar包,上传到服务器上 可以直接运行,不需要单独的配置tomcat环境,十分方便。

但是 在实际使用过程中,如果需要修改项目,比如只是修改少量的界面格式,就需要重新上传jar包,这一点就非常不方便了,尤其是在公司网络做了限制(比如我们公司),上传50M的包需要十分钟的情况下,就想哭了。

所以我还是重新使用war包了。

一、Spirng boot 打war包

这个在网上很容易找到。比如:

https://blog.csdn.net/datiancai2008/article/details/60466313

按照文档修改项目,就能打出war包了

注意:

1、通过tomcat运行项目,那么在项目本身中配置文件application.properties 中的的tomcat的相关属性就不起作用了,比如

#Tomcat 相关配置
server.port =8099
server.servlet.context-path=/

①端口号是在tomcat的service中配置,项目名称是tomcat中 war包名称 。

②这里可以在pom.xml文件中配置war包的名称,避免每次都要改名字。

二、tomcat 中文乱码问题

运行之后发现新版的tomcat上中文变为了乱码。

网上文档也很多,整理了一下,问题可能出现的地方有:

1、统一所有项目,文件的编码格式都为utf-8

 ①在conf目录下 server.xml文件里面设置端口的编码为utf-8 。

② 于在bin 目录下的catalina 配置文件中,添加以下设置

set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%  -Dfile.encoding=UTF-8" 

③修改bin目录下startup.bat文件

将call "%EXECUTABLE%" start %CMD_LINE_ARGS%  改为 call "%EXECUTABLE%" run %CMD_LINE_ARGS%

2、查看制台信息,( 标题处,右键,选择属性),查看单钱代码页编码,

我出现的就是这个问题,在新版的tomcat上,默认是936 GBK格式的。

修改方法:

在windows 环境中

运行中输入regedit命令,打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat(如果你改了tomcat的标题栏,这里就是你打开的命令窗口的名字),

找到CodePage项,没有则创建,更改值为十进制的65001,点击确定。

在实际操作过程中,有可能会遇到 没有tomcat这个文件的情况,运行tomcat,打开一个界面比如localhost:8080,然后在检查一下有没有目录。

三、war启动失败

在实际操作过程中,发现 tomcat正常启动了,但是 war包项目一直启动失败, 

 而且 项目用IDEA编辑工具run是能够正常运行的,哭

 因为这是个问题在tomcat的日志中显示很不明显,所以话了很多时间去定位。

①没有配置启动项,

需要在Application启动类中基础SpringBootServletInitializer 并复写configure方法。这是网上的提的的,在文章上部分提到的打war包的时有提到。

如果没有配置,项目不会正常启动,也就打不开

② tomcat版本问题,

这个是网上提到的很多的。

我的tomcat是8.5的。试了6、7、9 都没有解决问题。还花了很多时间去解决版本不同而引发的其他的问题,坑

③jar 包重复的问题

按照tomcat的日志,和网上查到的,确实在JDK版本和tomcat 版本不配的情况向出现。

最后在logs文件下找到了详细的报错日志 !!!!

平时看的是catalina文件,里面是tomcat相关的日志,这里面对项目项目的错误日志记录的比较粗糙。

但是在localhost文件中,里面的有详细的错误日志。

最后定位是项目本身有bug。

解决了项目中springboot直接发布和使用tomcat发布的一个兼容性问题之后,就成功的使用tomcat发布了springboot打的war包了

之前不清楚,真的浪费了好多时间。

猜你喜欢

转载自blog.csdn.net/bihansheng2010/article/details/85705969