一、该问题的重现步骤是什么?
1. 在本地,利用docker启动nacos、sentinel。
2. 利用idea将blade-desk服务build,生成blade-desk.jar
3. 执行zip -d blade-desk.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF,删除多余的文件。不删除抛如下错误:Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes。删除就不会有
4、到blade-desk的与dockerfile同一目录下执行docker build -t blade-desk:release-v0.0.1 ,做成镜像。
5、本地执行docker run --name blade-desk -d -p 8105:8105 blade-desk:release-v0.0.1 出现空指针错误。错误如下
null的输出语句如下:
实际异常错误在org.springblade.core.launch.BladeApplication的createSpringApplicationBuilder(String appName, Class source, String... args)方法里面的String startJarPath = BladeApplication.class.getResource("/").getPath().split("!")[0];
其中BladeApplication.class.getResource("/") 是一个null值。
我把这个语句屏蔽,将下面的语句去掉startJarPath值的输出,抛出如下异常:
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex 2.7.1
当前运行的环境是苹果笔记本。不过centos8上面也是一样的错误。
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端