Nacos 配置使用 @Value 取值
Nacos 被越来越多的项目使用,我们微服务中也开始使用 Nacos 来做配置。
##使用 @Value 获取配置时不能实时刷新在使用中,我们可以用 @Value 来获取 Nacos 中的配置,如下
12345678@RefreshScope@RestControllerpublic class TokenController { @Value("${login.username}") private String userName; @Value("${login.password}") private String passWord;
IDEA 'Cannot resolve symbol'如何解决
Cannot resolve symbol ‘EnableCustomConfig’出现此类报错点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。语法就会正确的高亮了。里面有让勾选的,实在不知道就全部勾选起来自动重启,就可以解决问题了
java中字段与关键字、标识符冲突的问题
当业务要求的字段与关键字、标识符发生冲突时,java不能识别这个为字段,此时需要把这个字段更名,然后给这个字段做一个别名,这样,就可以使用这个关键字的字段了
12@JsonAlias(value = {"package"})private String packages;
12@JsonAlias(value = {"业务要用的字段"})private String 字段更名;
SpringBoot启动报错java.nio.charset.MalformedInputException: Input length = 1解决方案
问题分析:java.nio.charset.MalformedInputException: Input length = 1百度了很久,网上说的千篇一律,
有的说,把yml复制到txt再复制回来
有的说,设置idea的utf-8环境
这些根本没有根治这个问题。
1org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
出现这个的原因,就是解析yml文件时,中文字符集不是utf-8的原因,但是通过cmd命令,mvn clean compile 后,项目又可以成功运行找了很久问题,使用eclipse和idea同时测试,最终发现,是maven在项目编译时,默认字符集编码是GBK
解决方法:检查pom文件我们首先需要在pom文件中设置,编译时编码utf-8即可,如果解决不了进行第二步
1234567<properties> <java.version>1.8</java.version> ...
jar中没有主清单属性
pom文件中打包配置缺少repackage 设置
123456789101112131415161718192021222324<build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> ...
解决'org.springframework.context.ApplicationContextException:Failed to start bean 'documentationPluginsBootstrapper';nested'
集成swagger出现下面的错误
123org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
解决办法:在启动类加一个注解@EnableWebMvc
上边的方法可能会解决swagger导致的项目不能启动的问题,但是进入swagger的页面还是会出错。经过一系列的查找最终发现
1spring.mvc.pathmatch.matching-strategy=ant_path_matcher
加一行配置可以解决swagger的继承报错,原因是因为swagger升级2.6x之后和springboot出现了不兼容情况。两种方法解决,一种是上面说的修改配置文件,另外一种是降级swagger。
springboot中引用mapper报红
问题:在开发中,通常会遇见一个很碍眼的事情使用 @Autowired后面的命名会报红
解决问题:方法一:换个注解,@Resource
方法二:使用 @Autowired 时在Mapper层上加 @Repository 注解
springboot报错:Exception opening socket
异常:com.mongodb.MongoSocketOpenException: Exception opening socket
解决办法一:把 spring-boot-starter-data-mongodb 这个依赖注释掉
解决办法二:在@SpringBootApplication注解后面加上(exclude = MongoAutoConfiguration.class)
12// 这个注解可以禁用springboot自带的配置@SpringBootApplication(exclude = MongoAutoConfiguration.class)
WebSocket 连接报错 WebSocket is already in CLOSING or CLOSED state. 传数据超过限制
在前端工程与后端java简历WebSocket长连接通信时,有时浏览器会报错
WebSocket is already in CLOSING or CLOSED state.
这个问题有可能是WebSocket传递的数据长度大于8192引起的 WebSocket建立连接后传递的JSON长度要<=8192才可以,否则就会报错 WebSocket is already in CLOSING or CLOSED state.异常然后一直在重复连接又断开。
1、此时我们可以在web.xml中添加一下代码来限制 WebSocket 中的参数长度限制。
12345678910# 限制WebSocket传递数据大小为50M <context-param> <param-name>org.apache.tomcat.websocket.textBufferSize</param-name> <param-value>5242800</param-value></context-para ...
解决go包管理代理网址无法访问:proxy.golang.org
默认使用的是proxy.golang.org,在国内无法访问,如下图所示:
1234567bogon:demo-path user$ make build_darwinrm -rf target/demo-0.6.0 mkdir -p target/demo-0.6.0/bin env CGO_ENABLED=1 GO111MODULE=on go run build/spec.go target/demo-0.6.0/bin/demo-spec-0.6.0.yamlgo: github.com/StackExchange/wmi@v0.0.0-20190523213315-cbe66965904d: Get "https://proxy.golang.org/github.com/%21stack%21exchange/wmi/@v/v0.0.0-20190523213315-cbe66965904d.mod": dial tcp 34.64.4.17:443: i/o timeoutmake: *** [build_yaml] Error 1bogon:demo ...