后端代码build后,运行报错?请大神帮忙解答下。

Bug 未结 1 767
chengtuanxiaozh
chengtuanxiaozh 2021-07-23 13:24
悬赏:20

一、该问题的重现步骤是什么?

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 出现空指针错误。错误如下

image.png

null的输出语句如下:

image.png

实际异常错误在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值的输出,抛出如下异常:

image.png



三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex 2.7.1

当前运行的环境是苹果笔记本。不过centos8上面也是一样的错误。

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2021-07-23 22:47

    商业版答疑规则见:https://sns.bladex.cn/article-14990.html

    请将账号邮箱修改为下单购买授权的qq邮箱便可咨询商业版疑问

    修改完邮箱后请将此贴删除并重新发一贴

    商业版答疑规则见:https://sns.bladex.cn/article-14990.html

    请将账号邮箱修改为下单购买授权的qq邮箱便可咨询商业版疑问

    修改完邮箱后请将此贴删除并重新发一贴

    0 讨论(0)
提交回复