开发者社区> 问答> 正文

EDAS线上云应用扫描出来依赖了低版本的fastjson,排查出来是因为依赖的基础镜像导致的?

EDAS线上云应用扫描出来依赖了低版本的fastjson,排查出来是因为依赖的基础镜像导致的edas-centos-openjdk8-alitomcat7 99e83da2281e8864201d144454ad0a6a.png ,请问现在这个镜像有修复版本的吗?

展开
收起
真的很搞笑 2023-06-13 19:32:11 93 0
2 条回答
写回答
取消 提交回答
  • 这个问题可能是因为 edas-centos-openjdk8-alitomcat7 镜像中包含了低版本的 fastjson,导致你的应用程序依赖了该版本的 fastjson。为了解决这个问题,你可以尝试以下几个步骤:

    1. 升级 edas-centos-openjdk8-alitomcat7 镜像中的 fastjson 版本,可以通过修改 Dockerfile 文件或者使用其他支持的镜像来实现。建议使用高版本的 fastjson,以避免潜在的安全风险。
    2. 在你的应用程序中排除低版本的 fastjson,可以在 Maven 或者 Gradle 的构建配置文件中添加 exclude 语句,例如:
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.8</version>
        <exclusions>
            <exclusion>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
    1. 在应用程序的启动脚本中指定 fastjson 的版本,例如在启动命令中添加 -Dfastjson.version=1.2.8 参数,强制使用指定版本的 fastjson。

    以上方法仅供参考,具体操作建议根据实际情况进行调整。

    2023-06-14 08:33:19
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    是的,如果您的EDAS线上云应用中依赖了低版本的fastjson,并且使用的是EDAS提供的基础镜像 edas-centos-openjdk8-alitomcat7,那么这个问题可能是由于基础镜像中自带的 fastjson 版本过低导致的。

    edas-centos-openjdk8-alitomcat7 基础镜像中自带的 fastjson 版本是 1.2.9,如果您的应用依赖的 fastjson 版本高于 1.2.9,那么就会出现依赖冲突问题。解决这个问题的方法有两种:

    将应用中的 fastjson 版本降低到 1.2.9 或以下版本,以适配基础镜像中的 fastjson 版本。

    自定义基础镜像,将其中的 fastjson 版本升级到与您的应用依赖版本一致或更高版本,以避免依赖冲突问题。

    需要注意的是,如果您选择自定义基础镜像,则需要进行相关的镜像构建和管理工作,相对要复杂一些。因此,如果您的应用没有特别的需求,建议选择降低应用依赖的 fastjson 版本来适配基础镜像。

    2023-06-13 19:37:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
EDAS—云上的微服务开发与治理利器 立即下载
基于阿里企业级分布式应用服务的敏捷服务开发与架构实践 立即下载
EDAS—轻松搞定分布式应用服务 立即下载