linlinjava / litemall

又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
MIT License
19.11k stars 7.17k forks source link

litemall-all第二次及以后启动报错InstanceAlreadyExistsException #263

Closed zhangran25 closed 5 years ago

zhangran25 commented 5 years ago

此问题困扰我很久了,很郁闷,反复网上搜寻答案,问同事,各种手段排除,都无解。所以烦请能人给看看什么情况。问题:litemall-all第一次启动没有问题,其他单个模块也都没问题,但从第二次开始就开始报错,单个模块litemall-admin-api也和all一样,第二次开始报错,其他单个第二次及以后启动都没有问题。我的环境:idea 2019,mysql5.7,win10。admin-api的第二次及以后的报错如下:

"C:\Program Files\Java\jdk1.8.0_201\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:C:\Users\DELL.IntelliJIdea2019.1\config\plugins\smx-idea\lib\xmx\bin\xmx-agent.jar=EmbeddedWebServer.Port=8081,config=C:\Users\DELL.IntelliJIdea2019.1\config\plugins\smx-idea\lib\xmx\smx.ini -javaagent:D:\IDEA\lib\idea_rt.jar=54404:D:\IDEA\bin -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_201\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_201\jre\lib\rt.jar;D:\work\dp\dp\litemall\litemall-admin-api\target\classes;D:\work\dp\dp\litemall\litemall-core\target\classes;D:\work\repo\org\hibernate\validator\hibernate-validator\6.0.15.Final\hibernate-validator-6.0.15.Final.jar;D:\work\repo\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;D:\work\repo\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;D:\work\repo\org\springframework\boot\spring-boot-starter-web\2.1.5.RELEASE\spring-boot-starter-web-2.1.5.RELEASE.jar;D:\work\repo\org\springframework\boot\spring-boot-starter-tomcat\2.1.5.RELEASE\spring-boot-starter-tomcat-2.1.5.RELEASE.jar;D:\work\repo\org\apache\tomcat\embed\tomcat-embed-core\9.0.19\tomcat-embed-core-9.0.19.jar;D:\work\repo\org\apache\tomcat\embed\tomcat-embed-el\9.0.19\tomcat-embed-el-9.0.19.jar;D:\work\repo\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.19\tomcat-embed-websocket-9.0.19.jar;D:\work\repo\org\springframework\spring-web\5.1.7.RELEASE\spring-web-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\spring-webmvc\5.1.7.RELEASE\spring-webmvc-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\spring-expression\5.1.7.RELEASE\spring-expression-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\boot\spring-boot-starter-mail\2.0.4.RELEASE\spring-boot-starter-mail-2.0.4.RELEASE.jar;D:\work\repo\org\springframework\spring-context\5.1.7.RELEASE\spring-context-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\spring-context-support\5.1.7.RELEASE\spring-context-support-5.1.7.RELEASE.jar;D:\work\repo\com\sun\mail\javax.mail\1.6.2\javax.mail-1.6.2.jar;D:\work\repo\javax\activation\activation\1.1\activation-1.1.jar;D:\work\repo\org\springframework\boot\spring-boot-starter-json\2.0.4.RELEASE\spring-boot-starter-json-2.0.4.RELEASE.jar;D:\work\repo\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;D:\work\repo\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;D:\work\repo\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.8\jackson-datatype-jdk8-2.9.8.jar;D:\work\repo\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.8\jackson-datatype-jsr310-2.9.8.jar;D:\work\repo\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.8\jackson-module-parameter-names-2.9.8.jar;D:\work\repo\com\github\qcloudsms\qcloudsms\1.0.5\qcloudsms-1.0.5.jar;D:\work\repo\org\json\json\20170516\json-20170516.jar;D:\work\repo\org\apache\httpcomponents\httpclient\4.5.8\httpclient-4.5.8.jar;D:\work\repo\org\apache\httpcomponents\httpcore\4.4.11\httpcore-4.4.11.jar;D:\work\repo\org\apache\httpcomponents\httpmime\4.5.8\httpmime-4.5.8.jar;D:\work\repo\commons-codec\commons-codec\1.11\commons-codec-1.11.jar;D:\work\repo\com\qcloud\cos_api\5.4.4\cos_api-5.4.4.jar;D:\work\repo\joda-time\joda-time\2.10.2\joda-time-2.10.2.jar;D:\work\repo\org\bouncycastle\bcprov-jdk15on\1.59\bcprov-jdk15on-1.59.jar;D:\work\repo\com\aliyun\oss\aliyun-sdk-oss\2.5.0\aliyun-sdk-oss-2.5.0.jar;D:\work\repo\org\jdom\jdom\1.1\jdom-1.1.jar;D:\work\repo\net\sf\json-lib\json-lib\2.4\json-lib-2.4-jdk15.jar;D:\work\repo\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;D:\work\repo\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;D:\work\repo\net\sf\ezmorph\ezmorph\1.0.6\ezmorph-1.0.6.jar;D:\work\repo\com\qiniu\qiniu-java-sdk\7.2.25\qiniu-java-sdk-7.2.25.jar;D:\work\repo\com\squareup\okhttp3\okhttp\3.14.2\okhttp-3.14.2.jar;D:\work\repo\com\squareup\okio\okio\1.17.2\okio-1.17.2.jar;D:\work\repo\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;D:\work\repo\com\github\binarywang\weixin-java-pay\3.3.0\weixin-java-pay-3.3.0.jar;D:\work\repo\com\github\binarywang\qrcode-utils\1.1\qrcode-utils-1.1.jar;D:\work\repo\com\google\zxing\core\3.2.1\core-3.2.1.jar;D:\work\repo\org\jodd\jodd-http\3.7.1\jodd-http-3.7.1.jar;D:\work\repo\org\jodd\jodd-core\3.7.1\jodd-core-3.7.1.jar;D:\work\repo\org\jodd\jodd-upload\3.7.1\jodd-upload-3.7.1.jar;D:\work\repo\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar;D:\work\repo\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar;D:\work\repo\org\bouncycastle\bcpkix-jdk15on\1.59\bcpkix-jdk15on-1.59.jar;D:\work\repo\org\projectlombok\lombok\1.18.8\lombok-1.18.8.jar;D:\work\dp\dp\litemall\litemall-db\target\classes;D:\work\repo\org\mybatis\spring\boot\mybatis-spring-boot-starter\1.3.2\mybatis-spring-boot-starter-1.3.2.jar;D:\work\repo\org\springframework\boot\spring-boot-starter-jdbc\2.1.5.RELEASE\spring-boot-starter-jdbc-2.1.5.RELEASE.jar;D:\work\repo\com\zaxxer\HikariCP\3.2.0\HikariCP-3.2.0.jar;D:\work\repo\org\springframework\spring-jdbc\5.1.7.RELEASE\spring-jdbc-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\spring-tx\5.1.7.RELEASE\spring-tx-5.1.7.RELEASE.jar;D:\work\repo\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\1.3.2\mybatis-spring-boot-autoconfigure-1.3.2.jar;D:\work\repo\org\mybatis\mybatis\3.4.6\mybatis-3.4.6.jar;D:\work\repo\org\mybatis\mybatis-spring\1.3.2\mybatis-spring-1.3.2.jar;D:\work\repo\com\github\pagehelper\pagehelper-spring-boot-starter\1.2.5\pagehelper-spring-boot-starter-1.2.5.jar;D:\work\repo\com\github\pagehelper\pagehelper-spring-boot-autoconfigure\1.2.5\pagehelper-spring-boot-autoconfigure-1.2.5.jar;D:\work\repo\com\github\pagehelper\pagehelper\5.1.4\pagehelper-5.1.4.jar;D:\work\repo\com\github\jsqlparser\jsqlparser\1.0\jsqlparser-1.0.jar;D:\work\repo\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar;D:\work\repo\com\alibaba\druid-spring-boot-starter\1.1.10\druid-spring-boot-starter-1.1.10.jar;D:\work\repo\com\alibaba\druid\1.1.10\druid-1.1.10.jar;D:\work\repo\com\github\binarywang\weixin-java-miniapp\3.3.0\weixin-java-miniapp-3.3.0.jar;D:\work\repo\com\github\binarywang\weixin-java-common\3.3.0\weixin-java-common-3.3.0.jar;D:\work\repo\com\thoughtworks\xstream\xstream\1.4.10\xstream-1.4.10.jar;D:\work\repo\xmlpull\xmlpull\1.1.3.1\xmlpull-1.1.3.1.jar;D:\work\repo\xpp3\xpp3_min\1.1.4c\xpp3_min-1.1.4c.jar;D:\work\repo\org\slf4j\jcl-over-slf4j\1.7.26\jcl-over-slf4j-1.7.26.jar;D:\work\repo\commons-io\commons-io\2.5\commons-io-2.5.jar;D:\work\repo\org\dom4j\dom4j\2.0.0\dom4j-2.0.0.jar;D:\work\repo\jaxen\jaxen\1.1.6\jaxen-1.1.6.jar;D:\work\repo\io\springfox\springfox-swagger-ui\2.2.2\springfox-swagger-ui-2.2.2.jar;D:\work\repo\io\springfox\springfox-spring-web\2.2.2\springfox-spring-web-2.2.2.jar;D:\work\repo\io\springfox\springfox-swagger2\2.2.2\springfox-swagger2-2.2.2.jar;D:\work\repo\org\mapstruct\mapstruct\1.0.0.CR1\mapstruct-1.0.0.CR1.jar;D:\work\repo\io\swagger\swagger-annotations\1.5.3\swagger-annotations-1.5.3.jar;D:\work\repo\io\swagger\swagger-models\1.5.3\swagger-models-1.5.3.jar;D:\work\repo\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;D:\work\repo\io\springfox\springfox-spi\2.2.2\springfox-spi-2.2.2.jar;D:\work\repo\io\springfox\springfox-core\2.2.2\springfox-core-2.2.2.jar;D:\work\repo\io\springfox\springfox-schema\2.2.2\springfox-schema-2.2.2.jar;D:\work\repo\io\springfox\springfox-swagger-common\2.2.2\springfox-swagger-common-2.2.2.jar;D:\work\repo\com\google\guava\guava\18.0\guava-18.0.jar;D:\work\repo\com\fasterxml\classmate\1.4.0\classmate-1.4.0.jar;D:\work\repo\org\slf4j\slf4j-api\1.7.26\slf4j-api-1.7.26.jar;D:\work\repo\org\aspectj\aspectjrt\1.9.4\aspectjrt-1.9.4.jar;D:\work\repo\org\aspectj\aspectjweaver\1.9.4\aspectjweaver-1.9.4.jar;D:\work\repo\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\work\repo\org\springframework\spring-beans\5.1.7.RELEASE\spring-beans-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\spring-aop\5.1.7.RELEASE\spring-aop-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\work\repo\org\springframework\hateoas\spring-hateoas\0.25.1.RELEASE\spring-hateoas-0.25.1.RELEASE.jar;D:\work\repo\org\apache\shiro\shiro-spring-boot-web-starter\1.4.0\shiro-spring-boot-web-starter-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-spring-boot-starter\1.4.0\shiro-spring-boot-starter-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-spring\1.4.0\shiro-spring-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-core\1.4.0\shiro-core-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-lang\1.4.0\shiro-lang-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-cache\1.4.0\shiro-cache-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-crypto-hash\1.4.0\shiro-crypto-hash-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-crypto-core\1.4.0\shiro-crypto-core-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-crypto-cipher\1.4.0\shiro-crypto-cipher-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-config-core\1.4.0\shiro-config-core-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-config-ogdl\1.4.0\shiro-config-ogdl-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-event\1.4.0\shiro-event-1.4.0.jar;D:\work\repo\org\apache\shiro\shiro-web\1.4.0\shiro-web-1.4.0.jar;D:\work\repo\org\springframework\boot\spring-boot-autoconfigure\2.1.5.RELEASE\spring-boot-autoconfigure-2.1.5.RELEASE.jar;D:\work\repo\org\springframework\boot\spring-boot-starter\2.1.5.RELEASE\spring-boot-starter-2.1.5.RELEASE.jar;D:\work\repo\org\springframework\boot\spring-boot-starter-logging\2.1.5.RELEASE\spring-boot-starter-logging-2.1.5.RELEASE.jar;D:\work\repo\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\work\repo\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\work\repo\org\apache\logging\log4j\log4j-to-slf4j\2.11.2\log4j-to-slf4j-2.11.2.jar;D:\work\repo\org\apache\logging\log4j\log4j-api\2.11.2\log4j-api-2.11.2.jar;D:\work\repo\org\slf4j\jul-to-slf4j\1.7.26\jul-to-slf4j-1.7.26.jar;D:\work\repo\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;D:\work\repo\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;D:\work\repo\org\springframework\boot\spring-boot-devtools\2.1.5.RELEASE\spring-boot-devtools-2.1.5.RELEASE.jar;D:\work\repo\org\springframework\boot\spring-boot\2.1.5.RELEASE\spring-boot-2.1.5.RELEASE.jar;D:\work\repo\junit\junit\4.12\junit-4.12.jar;D:\work\repo\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\work\repo\org\springframework\spring-core\5.1.7.RELEASE\spring-core-5.1.7.RELEASE.jar;D:\work\repo\org\springframework\spring-jcl\5.1.7.RELEASE\spring-jcl-5.1.7.RELEASE.jar" org.linlinjava.litemall.admin.Application =[Spring MX]= XMX Agent 0.4.1 is started using configuration in C:\Users\DELL.IntelliJIdea2019.1\config\plugins\smx-idea\lib\xmx\smx.ini =[Spring MX]= Logging INFO events to ${user.home}/.xmx/logs/ =[Spring MX]= Web console will be started at http://localhost:8081/smx/ in ~10 seconds

. _ _ /\ / '_ () \ \ \ \ ( ( )\ | ' | '| | ' \/ ` | \ \ \ \ \/ _)| |)| | | | | || (| | ) ) ) ) ' |__| .|| ||| |\, | / / / / =========|_|==============|__/=//// :: Spring Boot :: (v2.1.5.RELEASE)

2019-08-28 13:14:15.608 INFO 7764 --- [ restartedMain] o.linlinjava.litemall.admin.Application : Starting Application on DESKTOP-VHR0PBR with PID 7764 (D:\work\dp\dp\litemall\litemall-admin-api\target\classes started by DELL in D:\work\dp\dp\litemall) 2019-08-28 13:14:15.609 DEBUG 7764 --- [ restartedMain] o.linlinjava.litemall.admin.Application : Running with Spring Boot v2.1.5.RELEASE, Spring v5.1.7.RELEASE 2019-08-28 13:14:15.609 INFO 7764 --- [ restartedMain] o.linlinjava.litemall.admin.Application : The following profiles are active: db,core,admin =[Spring MX]= =[Spring MX]= Web console is successfully started at http://localhost:8081/smx/ =[Spring MX]= 2019-08-28 13:14:21.472 ERROR 7764 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed

org.springframework.context.ApplicationContextException: Failed to register LiveBeansView MBean; nested exception is javax.management.InstanceAlreadyExistsException: DefaultDomain:application= at org.springframework.context.support.LiveBeansView.registerApplicationContext(LiveBeansView.java:83) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:899) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) [spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) [spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) [spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.linlinjava.litemall.admin.Application.main(Application.java:17) [classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_201] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_201] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.1.5.RELEASE.jar:2.1.5.RELEASE] Caused by: javax.management.InstanceAlreadyExistsException: DefaultDomain:application= at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) ~[na:1.8.0_201] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898) ~[na:1.8.0_201] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966) ~[na:1.8.0_201] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900) ~[na:1.8.0_201] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324) ~[na:1.8.0_201] at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) ~[na:1.8.0_201] at org.springframework.context.support.LiveBeansView.registerApplicationContext(LiveBeansView.java:79) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] ... 15 common frames omitted

Process finished with exit code 0

linlinjava commented 5 years ago

qq群里面看你好像解决了,那这里也close了。

zhangran25 commented 4 years ago

谢谢作者的关注,问题点找到了,在这里补充下,原因是装了idea关于spring的一个插件,该插件起了一个类似监控进程。把这个插件卸载后,一切就都正常了,也请有类似问题的朋友们注意。

zhangran25 commented 4 years ago

这个插件叫Spring MX。