IntelliJ SBT - 模块命名
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
) falls-back/uses 父目录名称(参见图片 1 到 3)。
有什么办法可以改变这种行为吗?
- 是否有任何类型的主覆盖?
- 这是使用
CrossProject
的结果吗?
- 如果是,如何在不使用
CrossProject
的情况下产生相同的效果?
看来手头的问题不是 IntelliJ 中的错误,而是 SBT 中的 "feature"。当没有项目使用根路径时,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 项目上设置聚合 属性 将使为根发出的任何命令滴流到子项目。
什么
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
) falls-back/uses 父目录名称(参见图片 1 到 3)。
有什么办法可以改变这种行为吗?
- 是否有任何类型的主覆盖?
- 这是使用
CrossProject
的结果吗? - 如果是,如何在不使用
CrossProject
的情况下产生相同的效果?
看来手头的问题不是 IntelliJ 中的错误,而是 SBT 中的 "feature"。当没有项目使用根路径时,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 项目上设置聚合 属性 将使为根发出的任何命令滴流到子项目。