1

我是 SBT 的新手。只是好奇为什么 sbt 的 gen-idea 总是生成两个 IntelliJ 项目:

 .idea
 .idea_modules

当我打开生成的项目时,“项目”目录始终作为与顶级项目不同的单独项目存在。名称是“myproject-build”。

只是想知道这是否正常?

谢谢。

4

2 回答 2

0

是的,IDEA 的 SBT 插件没问题。

通常 IDEA 项目由顶级.idea目录(包含项目通用的配置)和几个*.iml文件组成,项目中的每个模块一个文件(特定于模块的配置,如构面、排除目录、自定义依赖项)。这些文件通常位于相应模块的顶级目录中。

另一方面,SBT 插件做了一些不寻常的事情。它创建标准.idea目录,但它将所有项目模块存储在一个位置,即.idea_modules项目顶级目录中的目录。IDEA 项目结构完全支持这一点,毕竟它是一组 XML。

至于project目录/模块,它是 SBT 构建的标准功能。它包含您的构建配置。请参阅SBT 手册

以上是关于目前存在于插件仓库中的 SBT 插件。有一个官方的 SBT 插件正在积极开发中,它保持熟悉的模块结构(无.idea_modules目录)并与 SBT 具有更高的集成度。后者在依赖管理中最为突出——官方插件提取依赖,甚至是非托管的,并使其可用于 IDE;当前的 SBT 插件无法做到这一点。

于 2013-09-03T19:10:44.733 回答
0

是的,这是正常的,这是默认行为。您可以通过排除某些文件夹来更改它(请参阅此处提供的文档:https ://github.com/mpeltonen/sbt-idea在排除某些文件夹

那么 .idea 和 .idea_modules 有什么区别呢?

.idea_module 生成一个 IDEA 模块,而 .idea 生成一个 IDEA 项目。

简而言之,项目可以是多模块或单模块,还包含 IntelliJ 库。

在文档中的较长版本http://confluence.jetbrains.com/display/IDEADEV/Structure+of+IntelliJ+IDEA+Project

项目

在 IntelliJ IDEA 中,一个项目将您的所有源代码、库、构建指令封装到一个组织单元中。您在 IntelliJ IDEA 中所做的一切都是在项目的上下文中完成的。一个项目定义了一些称为模块和库的集合。根据项目的逻辑和功能要求,您可以创建单模块或多模块项目。

模块

模块是一个独立的功能单元,可以独立运行、测试和调试。模块包括源代码、构建脚本、单元测试、部署描述符等。在项目中,每个模块可以使用特定的 SDK 或继承项目级别定义的 SDK(请参阅本文档后面的 SDK 部分)。一个模块可以依赖于项目的其他模块。

于 2013-09-03T07:17:14.710 回答