前言:
Cerebro 的下载地址 https://github.com/lmenezes/cerebro/releases
Cerebro 默认监听IP 0.0.0.0 ,默认端口9000,访问地址:http://localhost:9000
启动
cmd命令到安装目录下:cerebro-0.8.5\bin
执行命令
cerebro.bat
管理界面
输入:http://localhost:9000
单击connect后,即可进入首页
遇到的问题:
可能启动会出现下面的错误
[D:\cerebro-0.8.1\bin]$ cerebro.bat
Oops, cannot start the server.
com.google.common.util.concurrent.ExecutionError: java.lang.ExceptionInInitializerErrorat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2216)at com.google.common.cache.LocalCache.get(LocalCache.java:4147)at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4151)at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5140)at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5146)at com.google.inject.internal.FailableCache.get(FailableCache.java:48)at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:138)at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:536)at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160)at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44)at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123)at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)at com.google.inject.Guice.createInjector(Guice.java:99)at com.google.inject.Guice.createInjector(Guice.java:84)at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:185)at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:137)at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)at play.core.server.ProdServerStart$.start(ProdServerStart.scala:51)at play.core.server.ProdServerStart$.main(ProdServerStart.scala:25)at play.core.server.ProdServerStart.main(ProdServerStart.scala)
Caused by: java.lang.ExceptionInInitializerErrorat com.google.inject.internal.cglib.reflect.$FastClass$Generator.getProtectionDomain(FastClass.java:73)at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:206)at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:53)at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:158)at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90)at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37)at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3708)at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2416)at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2299)at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2212)... 20 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @3f093abeat java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)at com.google.inject.internal.cglib.core.$ReflectUtils$1.run(ReflectUtils.java:52)at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)at com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:42)... 36 more
解决方案:
错误信息表明在Java9及以上版本中,由于模块化系统的安全性增强导致了问题。解决方法:将JDK版本回退到1.8,或者将Cerebro更新到已修复该问题的最新版本。