java - Swagger-core Scala 依赖项过大

标签 java maven swagger

我发现在我开始为我的 REST API 使用 swagger 文档工具后,我的 war 文件的大小增加了近 4.5 倍,从 8.7 MB 到 39MB。我正在使用 Maven 构建项目。

那是因为 Swagger Scala 的依赖性很大,特别是 scala-compiler。所以我试图找出哪些依赖项不是真正需要的。我在项目的 Github 页面中创建了一个新问题:https://github.com/wordnik/swagger-core/issues/624他们回答说,删除任何 scala 依赖项不是一个好主意,因为框架是用该语言编写的,这可能会破坏它。还建议将依赖项放在容器/服务器中而不是 war 中作为解决方法。

最佳答案

在做了一些试错工作后,我发现可以在不破坏它的情况下删除一些依赖项。到目前为止,经过将近一个月的使用,文档工具似乎可以正常使用。这些是我删除的依赖项:

    <dependency>
        <groupId>com.wordnik</groupId>
        <artifactId>swagger-jersey2-jaxrs_2.10</artifactId>
        <version>${swagger-jersey.version}</version>
        <exclusions>
            <exclusion>
                <artifactId>jackson-module-scala_2.10</artifactId>
                <groupId>com.fasterxml.jackson.module</groupId>
            </exclusion>
            <exclusion>
                <artifactId>scalap</artifactId>
                <groupId>org.scala-lang</groupId>
            </exclusion>
        </exclusions>
    </dependency>

这基本上删除了三个大 jar :scalap、scala-compiler 和 scala-reflect。这意味着大小减少了近 19 MB。

我并不是说您不应该听从 Swagger 团队的开发人员关于不删除 scala 依赖项的建议,但到目前为止这对我有用并且想分享它。我也发表了评论并在 Github 中关闭了问题:https://github.com/wordnik/swagger-core/issues/624

关于java - Swagger-core Scala 依赖项过大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25269044/

相关文章:

eclipse - Eclipse 运行配置可以在所选项目上调用 Maven --resume-from 吗?

maven - 如何在 maven 中为 tar 文件创建 MD5 校验和

.net-core - Swashbuckle 如何将 OneOf 声明添加到 OpenAPI 3

java - servlet 引擎是否在调用 servlet 之前读取整个请求?

java - 如何使用当前的spring bean访问另一个spring bean中的数据

java - Maven 未从本地存储库加载快照

swagger - 如何在 "../v2/api-docs"json 生成的文件中启用 SecurityDefinitions

java - Spring Fox Swagger - 有没有办法为不属于项目的 API 添加文档

java - 使用 Java Streams 对 concat 字符串执行算术运算

Java正则表达式搜索不包括某些字符串的多行文本