springboot后端程序部署经历

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

1 前言

     springboot 后端程序部署踩过的坑,记录在此,用来时时回忆。

2 springboot文件不能找到&多模块打包

      多模块程序打包好后部署,提示了文件没有找到,文件不存在,提示信息如下:

 

Failed to parse configuration class [xxx]; nested exception is java.io.FileNotFoundException: class path resource [xxx] cannot be opened because it does not exist

       经确认不能找到的是其他模块中文件,没有被打包成功,多模块打包时,应该在启动类模块的pom.xml文件的build标签中加入springboot插件配置。配置如下:

			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>2.1.3.RELEASE</version>
				<configuration>
					<includeSystemScope>true</includeSystemScope>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

3 mysql数据库连接&大小写敏感设置

   程序运行时提示8.0版本需要com.mysql.cj.jdbc连接,原来com.mysql.jdbc.已经放弃使用。com.mysql.cj.jdbc连接需要加上serverTimezone=Asia/Shanghai .需要修改如下配置:

      datasource:
        master:
          url: jdbc:mysql://localhost:3306/sea?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useUnicode=true&useSSL=false
          username: root
          password: root
          driver-class-name: com.mysql.cj.jdbc.Driver

  使用数据库定时任务qrtz时提示qrtz表不能找到,该问题是大小写敏感问题,要么修改数据库配置,要么表名改为大写。修改mysql数据库需要加入low_case_names=1的配置,在经过多次试验后mysql不能正常启动,于是直接到qrtz表改名了,一了百了。

    当然,widnows下完全不用考虑这个问题。

4 redis数据库的安装和配置修改

    ubuntu 下直接sudo apt install redis-server就搞定了,简单明了,根本不用去了解 什么redis.conf;而且奇怪的是ubuntu安装好redis后,配置文件也不可访问。唯一需要注意的是默认安装没有密码。因此springboot配置中不能有密码,由于超别人的配置,在这个地方栽了很大的跟头。

springbooot中配置如下:

  #redis 配置
  redis:
    database: 0
    host: 127.0.0.1
    lettuce:
      pool:
        max-active: 8   #最大连接数据库连接数,设 0 为没有限制
        max-idle: 8     #最大等待连接中的数量,设 0 为没有限制
        max-wait: -1ms  #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
        min-idle: 0     #最小等待连接中的数量,设 0 为没有限制
      shutdown-timeout: 100ms
    password: 
    port: 6379

4 结语

    故障出自于细节,仔细查看日志文件,才能积累工程经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值