[英]IntelliJ SBT - Module naming
有什么作用
IntelliJ IDEA 2016.1.1
Build #IU-145.597, built on March 29, 2016
JRE: 1.8.0_40-release-b132 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Scala Plugin Version: 3.0.2
用于确定根模块的名称?
我一直认为它使用在build.sbt
文件中定义的name := "[name]"
来命名根模块,但我当前的 SBT 项目(使用 Scala.JS CrossProject
)回退/使用父目录名称(见图 1 到 3)。
有什么办法可以改变这种行为吗?
CrossProject
的结果吗?CrossProject
情况下创建相同的效果?看来手头的问题不是 IntelliJ 中的错误,而是 SBT 中的“功能”。 当没有使用根路径的项目时,SBT 会自动为您创建一个聚合所有子项目并以父目录命名的项目。 像这样定义一个根项目:
lazy val root = project in file(".").
aggregate(cross.js, cross.jvm).
settings(...)
lazy val cross = CrossProject("jvm", "js", file("."), FullWithSrc).
settings(...)
将解决此问题并使用正确的命名。
CrossProject
仅指定两个项目并在任何共享代码的设置中创建一个unmanagedSources
条目。 CrossProject
创建的两个项目可以通过CrossProject#js
和CrossProject#jvm
。 在 SBT 项目上设置聚合属性将使为根发出的任何命令都向下渗透到子项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.