首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sbt的gen-idea总是创建两个IntelliJ项目

Sbt的gen-idea总是创建两个IntelliJ项目
EN

Stack Overflow用户
提问于 2013-09-03 14:40:00
回答 2查看 721关注 0票数 1

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

代码语言:javascript
复制
 .idea
 .idea_modules

当我打开生成的项目时," project“目录始终是一个独立的项目,与顶级项目不同。它的名字是"myproject-build“。

只是想知道这是否正常?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-09-03 15:17:15

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

那么.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一节)。模块可以依赖于项目的其他模块。

票数 0
EN

Stack Overflow用户

发布于 2013-09-04 03:10:45

是的,对于IDEA的SBT插件是可以的。

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

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

至于project目录/模块,它是SBT构建的标准特性。它包含您的构建配置。关于这一点请参阅SBT manual

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18585735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档