前言
本地搭建开发环境时遇到的问题整理。
一农险赔付率项目
前端:参看链接:https://www.cnblogs.com/szrs/p/14978447.html
后台:
从git上克隆项目
添加环境变量-DenvironmenTypeCode=devFrez
修改redis密码,远程可以访问到,本地有防火墙。
二、监控项目
1.1前端
1.1.1步骤
本地需要安装nodejs;如果是通过公司的网络可能还需要设置代理;
idea通过git克隆项目到本地;切换分支devtest上。
将node_modules放到项目的根路径。
配置idea的vue开发环境;
npm install
npm run dev启动项目
1.1.2问题
1、无法下载依赖包;
解决:先用热点下载好。。。。。再用公司的网。(因为公司网络设置了,访问不了github,配置了代理也不好使。。变通解决)
1.2后端
1.2.1步骤
1、通过git克隆项目到本地;切换分支devtest。 2、查看pom.xmL文件;配置setting.xml文件。 3、查看application.yml文件。
1.2.2问题
1、报错:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.] [2021-08-18 16:56:55.834] [main] [ERROR] [TID: N/A] [LAPTOP-MHHBQEIO/11.204.117.183] [] [o.s.b.diagnostics.LoggingFailureAnalysisReporter] [] [] [] [ *************************** APPLICATION FAILED TO START *************************** Description: Failed to bind properties under 'spring.datasource.druid.hdr.password' to java.lang.String: Reason: Required Encryption configuration property missing: jasypt.encryptor.password Action: Update your application's configuration
原因:密码设置了加密。
配置文件截图:
解决:添加环境变量
-Djasypt.encryptor.password=asd
node-sass与本机安装的nodejs版本不和,重新下载。
npm rebuild node-sass
2、安装mysql数据库
现在都用最新的Mysql版本了,直接从官网下一个。
官网:去Mysql官网找个安装包,https://dev.mysql.com/downloads/windows/installer/8.0.html(可以注册一个账号,如果嫌麻烦不想注册,左下角有个跳过的按钮)
我安装的是最新版本的
安装过程参看链接:
https://gblfy.blog.csdn.net/article/details/108033816
https://blog.csdn.net/weidong_y/article/details/79763756
安装完这个版本之后,链接maysql数据库还是报错:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
原因如下:参看了链接:https://blog.csdn.net/qq_37924905/article/details/109111934
MySQL版本和驱动包不兼容的问题。
原因: mysql驱动是5.0+版本的,而连接的数据库版本是8.0+版本的,所以连接不上。 解决办法: 1.改连接数据库与mysql驱动版本一致的5.0+版本 2.改mysql驱动为8.0+版本 这里要注意,如果将mysql驱动改为8.0+版本,则还要改驱动的类名,加cj字段 把驱动的类名改为: driver="com.mysql.cj.jdbc.Driver";
我本地项目的配置是:
明显用的版本与我安装的Mysql版本不一致。
搜索了下我安装的对应如下驱动,修改两个配置文件,问题解决。:https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.21
3、解决了上面那的的问题后,出现如下报错:
SQLSyntaxErrorException: SELECT command denied to user ‘XXXXX‘@‘xxxx‘ for table ‘XXXX‘
Access denied for user 'oauth'@'localhost' to database 'reinsmonitor'
拒绝用户“oauth”@“localhost”访问数据库“reinsmonitor”
如下图:
因为没有给用户oauth配置权限导致。点击用户,新增权限问题解决。
或者通过命令赋予新用户权限:
grant select,insert,update,delete on reinsmonitor.* to oauth@localhost identified by "oauth"; --赋予所有权限 grant all on *.* to dba@localhost; --撤销所有权限 revoke all on *.* from dba@localhost;
3、命令行太长导致启动失败
Error running 'ReinsMonitorBackend': Command line is too long. Shorten command line for ReinsMonitorBackend or also for Spring Boot default configuration.
原因:该选项控制如何将classpath传递给JVM:通过命令行或通过文件。大多数操作系统都有最大的命令行限制,当它超过时,IDEA将无法运行您的应用程序。 当命令行长于32768个字符时,IDEA建议您切换到动态类路径。长类路径被写入文件,然后由应用程序启动器读取并通过系统类加载器加载。 如果您对实施细节感兴趣,可以查看IDEA社区版的源代码,JdkUtil.java文件,setupJVMCommandLine方法。
解决:
参看链接:https://www.cnblogs.com/nanmu0/p/12518412.html https://blog.csdn.net/ZXJ_1223/article/details/80611089
类似问题参看链接:https://blog.csdn.net/qq719779232/article/details/114678903
问题描述:增加了个jar包,发现项目就启动不起来了:
Error running 'EdenServerSystemApplication': Command line is too long. Shorten command line for EdenServerSystemApplication or also for Spring Boot default configuration
三、拓展
1、Mysql用户的连接名是啥意思:
在MySQL建立连接的时候就会发现有连接名这样的东西,这个实际上只是方便你自己去区分哪一个Mysql,不是数据库。
四、本地搭建监控项目的设置
4.1前端
直接用idea打开即可(其他配置步骤不变)。
4.2后端
除了原来的配置,还需要将pom.xml中的私服注掉;
在application.xml中新增
mysql1: url: jdbc:mysql://127.0.0.1:3306/reinsmonitor?serverTimezone=GMT%2B8&characterEncoding=utf-8 name: reinsopmysql username: oauth password: oauth driver-class-name: com.mysql.cj.jdbc.Driver #filters: stat maxActive: 20 initialSize: 5 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 testWhileIdle: true validationQuery: select 1 testOnBorrow: false testOnReturn: false poolPreparedStatements: false
并将调整如下:
这样就可以在本地启动了。