常见问题

前言

内容

1、IDEA 程序包不存在,找不到符号但是明明存在对应的jar包 的解决方案

进行微服务开发时候,使用maven多模块方式,将共有的模块封装到common,然后在其他模块引用:
注:
1、刚开始是使用 Settings–>Build–>Build Tools–>Maven–>Runner–>勾选上Delegagte IDE build/run actions to Maven 这种办法,成功解决了报jar包不存在的问题,但是,每次启动都是先maven进行编译打包后,idea才会启动项目。大大增长了启动时间。。。
2、使用上述办法还有一个问题比较蛋疼,使用maven打jar上传服务器,jar文件在上传服务器时,你还不能启动本地的服务。

由此,最好的解决办法是:运行maven命令

mvn idea:idea

image.png

如果项目能编译了,但是启动
spring boot项目启动报错:Failed to load property source from location ‘classpath:/application.yml’
因为编译出来的配置文件乱码了,取target目录下看配置文件里面的中文都乱码
需要GBK 就设置成UTF-8
image.png

2、springboot启动时报错 错误: 找不到或无法加载主类 com.xxx.xxx.Application

从svn上拉下来一个自动生成代码的小项目,遇到一个贼大的坑,运行提示找不到或无法加载主类 com.xxx.xxx.Application,找了很多方法才解决,解决方法就是打开idea的控制台,输入以下三行命令.

mvn clean compile

mvn install

mvn spring-boot:run

然后问题解决

3、nginx的ssl假证书搭建

https://www.linuxidc.com/Linux/2013-08/88271.htm

默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数.

4、javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplication

在idea环境下,启动SpringBoot服务的时候,出现下面的问题:


2023-03-10 14:57:21.040 [RMI TCP Connection(6)-127.0.0.1] DEBUG sun.rmi.transport.tcp -RMI TCP Connection(6)-127.0.0.1: (port 57476) op = 80
2023-03-10 14:57:21.040 [RMI TCP Connection(6)-127.0.0.1] DEBUG sun.rmi.loader -RMI TCP Connection(6)-127.0.0.1: name = "javax.management.ObjectName", codebase = ""
2023-03-10 14:57:21.041 [RMI TCP Connection(6)-127.0.0.1] DEBUG sun.rmi.server.call -RMI TCP Connection(6)-127.0.0.1: [127.0.0.1] exception: 
javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplication
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:643)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445)
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
    at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:639)
    at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

解决方案:
image.png

将红圈里的对勾以及左边的“Enable JMX agent”去掉 就ok了!

我在规定的时间内,做到了我计划的事情;我自己也变得自信了,对于外界的人跟困难也更加从容了,我已经很强...

85 声望
21 粉丝
0 条评论
推荐阅读
ChatGPT教程
ChatGPT 菜鸟教程飞书链接:ChatGPT 菜鸟教程适用人群:关注 ChatGPT 相关产品动向,跃跃欲试又不知如何下手的小伙伴首发时间:2023年3月29日本文档专注收集汇总 ChatGPT 相关产品使用教程,持续更新,永久免费在...

startshineye1阅读 698

如何规避MyBatis使用过程中带来的全表更新风险
作者:京东零售 贾玉西一、前言程序员A: MyBatis用过吧?程序员B: 用过程序员A: 好巧,我也用过,那你遇到过什么风险没?比如全表数据被更新或者删除了。程序员B: 咔,还没遇到过,这种情况需要跑路吗?程序...

京东云开发者阅读 855

封面图
如何优雅地组织Rust项目中的异步代码?
很多使用过Async Rust的人都可能有过被其要求的约束所困扰的经历,例如,spawned task有'static的要求,MutexGuard不能跨越.await,等等。克服这些约束需要仔细地设计代码结构,很可能会导致晦涩和嵌套的代码,这...

Datenlord阅读 761

封面图
KaiwuDB协议代码解析(1)
PostgreSQL 协议的消息通用格式如下图所示,包含 1 字节的消息类型,4 字节的长度(不包括类型的长度),以及消息的内容。由于历史原因,startup 消息不包含类型。

KaiwuDB阅读 552

封面图
精准测试之覆盖
•代码覆盖测试是一种软件测试技术,用于衡量在运行测试时程序源代码中有多少被执行。这意味着代码覆盖测试衡量了程序源代码被测试的程度,它提供了关于测试期间哪些源代码组件被执行以及哪些部分没有被执行的详细...

京东云开发者1阅读 502评论 1

封面图
【如何给iOS APP加固】之检查代码漏洞 第四章【附代码】
在应用程序开发过程中,可能会出现代码漏洞,如缓冲区溢出、格式字符串漏洞、SQL注入等。这些漏洞会使应用程序易受攻击。因此,需要定期对应用程序进行代码审查和漏洞检测,及时修复代码漏洞。

小飞象阅读 402

我在规定的时间内,做到了我计划的事情;我自己也变得自信了,对于外界的人跟困难也更加从容了,我已经很强...

85 声望
21 粉丝
宣传栏