MEDO 项目开发中遇到的问题汇总

用户头像
陈皮
关注
发布于: 2020 年 08 月 15 日

MEDO 简介



本意是创建一个个人 demo 工程,落地实践一个微服务项目。所以尝试在 github 上创建一个名叫 demo 的项目,但是名称已被占用,尝试了几次 medo(midou) 这个词可用,并且简单易读。现计划封装实现一些通用框架后续找一个业务方向落地。项目仓库 https://github.com/medoer/medo 。这里记录一下开发过程中遇到的问题和总结。



问题

集成 junit5 报错



异常: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/junit/platform/engine/EngineDiscoveryListener

原因:测试工具版本问题,根本原因不知。

方案:指定 junit 版本 , gradle 中配置 ext['junit-jupiter.version'] = '5.6.0'



单元测试配置读取问题

描述:在使用 spring junit 进行测试时发生了不能读取 spring application.yml 配置的情况。

原因:src/java/resources 和 src/test/resources 配置文件同时存在 test 目录下配置文件不生效

测试代码:https://github.com/medoer/medo-learning/tree/master/spring-demo/spring-unit-test



Gradle 多模块 gradle/ gradlew gradlew.bat



描述: 这三个 gradle 相关文件不需要在每个子模块中配置,在根目录下存在即可。

方案:如需要使用项目中的 gradlew 命令,单独处理某个子模块,使用 -b 参数制定 build.gradle 文件。

如: ./gradlew -b ./medo-framework/build.gradle clean build。



注:全局 gradle 命令在子模块中正常使用不需要制定 -b 参数。



Gradle build 时抛出内存不足异常

异常信息:Expiring Daemon because JVM heap space is exhausted

Daemon will be stopped at the end of the build after running out of JVM memory

原因: 为了减少项目间的耦合度,创建了很多子工程。在编译整个项目时,消耗了更多的内存。

方案:1. 在子模块中编译打包,可减少内存占用并且速度更快 2. 加大 gradle jvm 配置, 在 gradle.properties 中添加 org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m 配置



TODO

发布于: 2020 年 08 月 15 日 阅读数: 43
用户头像

陈皮

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
MEDO 项目开发中遇到的问题汇总