windows环境下mycat服务启动报错1067

 

1. Mycat 启动问题

1.1 Unrecognized VM option ‘AggressiveOpts’

   Launching a JVM...
   INFO   | jvm 1    | 2023/09/11 09:42:16 | Unrecognized VM option 'AggressiveOpts'
   INFO   | jvm 1    | 2023/09/11 09:42:16 | Error: Could not create the Java Virtual Machine.
   INFO   | jvm 1    | 2023/09/11 09:42:16 | Error: A fatal exception has occurred. Program will exit.
  • 解决办法:
    进入mycat安装目录/mycat/conf/,打开weapper.conf,查找AggressiveOpts,注释掉配置,重新启动
#Java Additional Parameters
#wrapper.java.additional.1=
wrapper.java.additional.1=-DMYCAT_HOME=.
wrapper.java.additional.2=-server
#wrapper.java.additional.3=-XX:+AggressiveOpts
wrapper.java.additional.4=-XX:MaxDirectMemorySize=2G
wrapper.java.additional.5=-Dcom.sun.management.jmxremote
wrapper.java.additional.6=-Dcom.sun.management.jmxremote.port=1984
wrapper.java.additional.7=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.8=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.9=-Xmx4G
wrapper.java.additional.10=-Xms1G

1.2 java.lang.IllegalAccessErro

错误日志:
STATUS | wrapper  | 2023/09/11 09:46:44 | Launching a JVM...
INFO   | jvm 1    | 2023/09/11 09:46:47 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2023/09/11 09:46:47 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2023/09/11 09:46:47 |
INFO   | jvm 1    | 2023/09/11 09:46:48 |
INFO   | jvm 1    | 2023/09/11 09:46:48 | WrapperSimpleApp: Encountered an error running main: java.lang.IllegalAccessError: class io.mycat.buffer.ByteBufferPage (in unnamed module @0x6d5380c2) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x6d5380c2
INFO   | jvm 1    | 2023/09/11 09:46:48 | java.lang.IllegalAccessError: class io.mycat.buffer.ByteBufferPage (in unnamed module @0x6d5380c2) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x6d5380c2
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at io.mycat.buffer.ByteBufferPage.<init>(ByteBufferPage.java:31)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at io.mycat.buffer.DirectByteBufferPool.<init>(DirectByteBufferPool.java:43)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at io.mycat.MycatServer.startup(MycatServer.java:366)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at io.mycat.MycatStartup.main(MycatStartup.java:58)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at java.base/java.lang.reflect.Method.invoke(Method.java:568)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
INFO   | jvm 1    | 2023/09/11 09:46:48 |         at java.base/java.lang.Thread.run(Thread.java:833)
STATUS | wrapper  | 2023/09/11 09:46:50 | <-- Wrapper Stopped
  • 解决办法:
    问题原因主要是操作系统安装了多个不同版本的java,mycat启动的时候错误的执行了高版本的java,,目前mycat主要在java8上支持,重新指定java可执行文件目录,绝对路径,修改配置重启即可。
# Java Application
wrapper.java.command=C:\Program Files\Java\jdk1.8.0_311\bin\java.exe

本文遵守 Attribution-NonCommercial 4.0 International 许可协议。 Attribution-NonCommercial 4.0 International