Swagger-core Scala依赖项过大

时间:2014-08-12 16:05:23

标签: java maven swagger

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

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

1 个答案:

答案 0 :(得分:9)

在做了一些试验和错误工作之后,我发现可以删除一些依赖项而不会破坏它。经过近一个月的使用,文档工具似乎正常运行。这些是我删除的依赖项:

    <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>

这基本上删除了三个大罐:scalap,scala-compiler和scala-reflect。这意味着将近19 MB的缩小尺寸。

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