常见问题

前言

内容

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)

解决方案:
常见问题_第1张图片

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

你可能感兴趣的:(code)