## 工程启动准备 1. 由于升级了JDK17,Java 模块化系统(Java Module System)的安全限制导致的针对反射等场景有可能会出现如下错误: ~~~ Cause: java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.lang.reflect.InvocationHandler java.lang.reflect.Proxy.h accessible: module java.base does not "opens java.lang.reflect" to unnamed module @223aa2f7 ~~~ 2. 这种情况,我们需要在启动时增加对应配置: ~~~ --add-opens java.base/java.lang.reflect=ALL-UNNAMED ~~~ 3. 具体完整命令,格式如下: ~~~shell java --add-opens java.base/java.lang.reflect=ALL-UNNAMED -jar your-application.jar ~~~ 4. 若依旧报错可以增加第二个参数`--add-opens java.base/java.lang=ALL-UNNAMED`,格式如下 ~~~shell java --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED -jar your-application.jar ~~~ 5. 若出现如下错误:`module java.base does not "opens java.io" to unnamed module`,则额外增加如下配置 ~~~shell -–add-opens java.base/java.io=ALL-UNNAMED ~~~ 6. 若出现如下错误:`module java.base does not "opens java.util" to unnamed module`,则额外增加如下配置 ~~~shell -–add-opens java.base/java.util=ALL-UNNAMED ~~~ 7. 其他更多错误则可以通过搜索工具,搜索具体报错来查询具体对应的配置,配置较多本文档便不再一一列举 8. 具体操作如下 ![](https://img.kancloud.cn/61/1c/611c6b5c67966bdaaf5dfd338cb7e149_2326x1354.png) 9. jar包启动时也需要加入此配置,具体命令如下(增加的命令以最终可运行为准) ~~~ java --add-opens java.base/java.lang.reflect=ALL-UNNAMED -jar your-application.jar ~~~ <br><br> ## 工程启动顺序 1. 先启动`redis`、`mysql`等基础服务 2. 配置好对应的基础服务链接 ![](https://img.kancloud.cn/7d/c3/7dc3068b5722f101e9bd5a19575b6d6c_2136x994.png) 3. 启动Application类 ![](https://img.kancloud.cn/8a/24/8a2476f17749d0c2274d4b672d6f33f9_1720x1934.png) 4. 看到下图,则说明启动成功 ![](https://img.kancloud.cn/f4/ed/f4edbf814342d144df1ff340379ed7d2_3360x2050.png) 5. 若登录系统提示需要配置 `blade.token.sign-key` 则说明没有配置好签名,具体看`工程导入`章节 ![](https://img.kancloud.cn/ba/4a/ba4a8b4201d8e5688301079b17e0e798_2136x1452.png)