为什么IntelliJ IDEA为内容完全相同的两个项目构建更大的jar文件?

问题描述

我用Scala sbt创建了两个IntelliJ IDEA项目(test和Test2)。依赖关系通过sbt包含。

文件>新建>项目> Scala(已安装插件)> sbt>下一步...

这两个项目完全相同(从test复制到Test2的代码),但是它们构建的jar文件对于test而言约为80mb,对于Test2而言约为120mb。

我同时提取了两个jar文件,发现Test2.jar中的内容比test.jar还要多。

测试 test.jar extract

Test2 Test2.jar extract

有人知道为什么会发生这种情况吗?是否有纠正方法?但是,两个jar文件都可以正常工作。

如果您需要信息,请告诉我。谢谢!

编辑:

添加build.sbt

测试..

name := "test"

version := "0.1"

scalaVersion := "2.11.12"

val sparkVersion = "2.4.5"

libraryDependencies += "org.apache.spark" %% "spark-core" % sparkVersion

libraryDependencies += "org.apache.spark" %% "spark-streaming" % sparkVersion

Test2 ..

name := "Test2"

version := "0.1"

scalaVersion := "2.11.12"

val sparkVersion = "2.4.5"

libraryDependencies += "org.apache.spark" %% "spark-core" % sparkVersion

libraryDependencies += "org.apache.spark" %% "spark-streaming" % sparkVersion

解决方法

罪魁祸首可能是您的测试依赖项未标记为测试配置%test

如果您希望仅在Test配置而不是Compile配置中显示依赖项,请添加%“ test”

分享您的build.sbt,这可能有助于查明

libraryDependencies ++= Seq(
      "org.scalatest" %% "scalatest" % "3.1.1" % Test,)