我发现在我开始为我的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依赖项并不是一个好主意,因为框架是用该语言编写的,并且可能会破坏它。还建议将依赖项放在容器/服务器而不是战争中。
答案 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