idea+SpringBoot使用过程中的问题集合
1.跨域访问外部接口?
使用Nginx代理(详细参见:https://www.cnblogs.com/ZhaoHS/p/16594619.html);
合并部署,统一从后端访问第三方接口(合并部署详见:https://www.cnblogs.com/ZhaoHS/p/16601558.html);
后端响应头中加(Access-Control-Allow-Origin: *)*代表允许所有,或者指定具体IP端口or域名也行。
本来亲测前两种有效,第三种没试过。
2.idea中Java文件中jar包加载问题,如下图?
maven的配置文件settings.cml文件远程仓库配置awebide和aliyun,然后在项目目录下执行:mvn clean install。
3.idea构建代码报:AuthorityMapper.java:10:8
java: Internal error in the mapping processor: java.lang.NullPointerException
解决:Maven的版本与idea不匹配,一般降低/或升高maven版本简单不易引发其它问题。
4.spring-boot项目报:java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
换Sun的jdk,或者给虚拟机加装字体:1)yum install fontconfig 2)fc-cache --force 3)重启项目
5.idea 启动代码调试时可以为spring boot添加启动参数?
1)打开启动配置,2)添加springboot启动的参数(有两个位置,选其一)
6.idea启动springboot项目报:UserMapper.java:14:8
java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.internal.processor
解决:Setting -->Build,Execution,Deployment -->Compiler -->User-local build加上参数:-Djps.track.ap.dependencies=false
7.DBvisualizer/idea连接mysql报错: No appropriate protocol
在URL中添加在数据库后面添加?createDatabaseIfNotExist=true&useSSL=false
如:jdbc:mysql://192.168.2.2:3306/test?createDatabaseIfNotExist=true&useSSL=false
8.SpringBoot项目在不同环境下的配置以及打包方式?
在服务启动加载的时候,服务器就会加载application.yml文件,然后通过配置去调用application-dev.yml文件,选择开发环境。当active: prod,那么服务在启动时,Spring就会调用application-prod.yml文件进入生产环境。详细参见:https://www.cnblogs.com/ZhaoHS/p/16594119.html
9.docker镜像中指定输出springboot项目日志?
ENTRYPOINT ["java", "-jar", "app.jar", "--spring.profiles.active=test", "--server.port=8080", "> /log/app.log"]
Dockerfile中执行语句中指定输出日志。或者项目中指定(未测试):https://blog.csdn.net/qq_40286424/article/details/119991090
10.SpringBoot项目在idea启动报(端口被占用):Application failed to start due to an exception
org.springframework.boot.web.embedded.tomcat.ConnectorStartFailedException: Connector configured to listen on port 80 failed to start
1)打开cmd 在CMD中输入命令:netstat -ano(注:以管理员的身份打开cmd)
2)在cmd中找到你启动的端口号,并记住端口号后面的PID
3)照样以管理员身份打开cmd,CMD中输入命令:taskkill /f /t /im 【PID】
11.解决java中Http请求头设置中文乱码问题?
String source = URLEncoder.encode("中文", "utf-8");
String result = URLDecoder.decode(source, "utf-8");
或者 headers.setContentType(MediaType.APPLICATION_JSON_UTF8);//尝试无效,最终使用第一种
未完待续......
最新文章
- 用c语言编写直接插入法
- Mybatis 动态sql标签
- MySQL并发复制系列三:MySQL和MariaDB实现对比
- mysql之索引
- zabbix的邮件报警
- C# ASP.NET FILEUPLOAD详解
- Ganglia + Nagios 初步实践
- .NET知识点总结一(笔记整合)
- Ubuntu Server忘记密码后,单用户模式修改密码进去不了桌面的无奈
- Oracle常用语句记录
- 化工厂装箱员 洛谷 p2530
- 解决360随身wifi每天首连频繁断线
- Python_字符串之删除空白字符或某字符或字符串
- Jmeter3.0 中文乱码的解决方法
- entity framework异常 The specified cast from a materialized 'System.Int32' type to the 'System.String' type is not valid
- 关于Java Web应用中的配置部署描述符web.xml
- 求next数组的两种方法
- PHP之null
- percona-server-5.7.18-14安装
- 架构探险笔记11-与Servlet API解耦