Che*_*rry 0 java scala maven sbt coursier
文档说,coursier 是 scala 的一个新的工件管理器。但是 Coursier 和 maven、sbt 和 gradle 等构建工具有什么区别呢?为什么我需要+1包含 jar 文件的文件夹?我已经有.m2Maven 存储库、.gradleGradle 和.sbtsbt。所以我构建了一些项目,现在我有了AppData/Local/Coursier“相同”的 jar 文件。有人可以解释一下项目的目标是什么吗Coursier?
您将sbt、Maven、Gradle和Ant 等构建工具与coursier和ivy等工件管理器混淆了。
AFAIK (如果错误请纠正我),在coursier发明之前,sbt使用ivy从MavenCentral等存储库下载 JAR 文件。
之后,coursier被发明,可以更快更好地处理Scala依赖项(版本后缀等)。我不太确定技术差异是什么,但我真的不在乎,因为这是一个实现细节。
然后,较新版本的sbt只是从使用ivy切换到使用coursier,最大的区别是它现在下载东西的速度更快,并且缓存文件夹发生了变化。
随着时间的推移,在快递裸工件管理器上,已经构建了其他东西,例如cs工具scala-cli、GithubActions共享操作,例如coursier/setup-scala& coursier/cache。因此,从今天开始,一切都可以无缝地协同工作。
关于重复的 JAR 文件夹。除非您同时使用sbt和maven并且两者之间具有共享依赖关系,否则您应该能够删除旧.m2文件夹。