Java 虚张声势核心Scala依赖项过大

Java 虚张声势核心Scala依赖项过大,java,maven,swagger,Java,Maven,Swagger,我发现,在我开始为RESTAPI使用swagger文档工具之后,war文件的大小增加了近4.5倍,从8.7MB增加到39MB。我正在使用Maven构建项目 这是因为Scala依赖关系很大,特别是Scala编译器。所以我试图找出那些依赖关系中哪些不是真正需要的。我在项目的Github页面上创建了一个新问题:他们回答说,删除任何scala依赖项都不是一个好主意,因为框架是用那种语言编写的,这可能会破坏它。还建议将依赖项放在容器/服务器中,而不是war中,作为一种解决方法 在做了一些试错工作之后,我发

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


这是因为Scala依赖关系很大,特别是Scala编译器。所以我试图找出那些依赖关系中哪些不是真正需要的。我在项目的Github页面上创建了一个新问题:他们回答说,删除任何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>

com.wordnik

我使用的是swagger-jaxrs_2.1,而不是jersey,删除scala libs会导致运行时出现ClassNotFound异常。它可能会根据您在swagger api中使用的内容引发ClassNotFoundExceptions,例如,我在尝试使用OverrideConverter和ModelConverter覆盖模型时遇到了一些异常。如果您没有使用这种定制,那么它可以正常工作。不幸的是,这似乎不适用于swagger-jersey2-jaxrs_2.11。谢谢。我在战争中也发现了同样的问题。我敢打赌,同样的功能可以用一个简单、可维护、可读的Java实现来编写,其开销是Scala bloatware的1/1000。也许我会这么做。。。