Idea-配合-Gradle-多项目管理.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Idea 配合 Gradle 多项目管理之前一直用的是 eclipse,几次(差不多有 3、4 次吧)想切换到 idea 这个传说中的 IDE,不过一直被 Gradle 设置给打了回来。这次干活干累了决定配置一下 idea 权当休闲,经过一番翻箱倒柜,终于达到了自己满意的效果。Gradle 配合 Idea Module先说一下我的项目结构,项目根目录下只是一些 gradle 相关的配置文件,几个子项目位于 projects 目录下,并且 B 项目依赖 A,C 项目依赖 A 和 B。在 idea 中新建项目(采用直接打开 build.gradle 模式)的时候,总是会把根目录和 projects 目录都作为 module 呈现。当然,这个作为 idea 并无过错,因为 gradle 的理念如此。但不合我的理念。放狗找了半天之后发现解决办法:在根目录下的 build.gradle 的尾部增加如下代码:// 在idea 的 module 中忽略 projects 目录project(projects) { ideaModule.enabled = false}/** * idea 里面忽略根项目,也就是说不将根项目设置为 module */jectsEvaluated { gradle.rootProject { ideaModule.enabled = false idea { project { // modules = subprojects*.idea.module // 如果某个子项目的 ideaModule 设置为 false,则不会在 idea 中生成 module def modulesToInclude = subprojects.findAll {it.ideaModule.enabled == true} modules = modulesToInclude.idea.module } } }}效果如下图所示:?多 resources 目录设置另外一个问题是我的 web 项目里面 main/resources 是分为 3 个目录的:resources: 通用设置,所有人一个样resources-dev: 开发环境设置文件,每个开发人员可能都有所区别resource-prod: 生产环境下配置文件打包的时候根据不同的命令来将不同目录打入 war 包。一开始用 Idea 打开项目的时候我时手工在 module 里面设置 resources-dev 的,结果编译的时候发现此目录死活没有发布出去。后来才发现需要在 gradle 设置里面明确指定此目录://// 设置默认 resources 为开发环境状态//// 这儿如果不设置的话,idea 编译时只会默认获取 resources 目录//sourceSets { main { resources { srcDirs = [src/main/resources, src/main/resources-dev] } }}Excluded 文件夹一般项目下往往会有些不希望 IDE 处理的文件夹(例如 node_modules),在项目设置里面可以在 Module 里面 Excluded 这些文件夹,但是 gradle 一刷新,这些手工设置就没了,所以还需要在 gradle 配置里面加几句话。这些配置需要在子项目的 build.gradle 里面设置:注意 excludeDirs 后面是?+=, 这样可以把 gradle idea 插件默认文件夹加上(其实也就是 build 和 .gradle 文件夹)。idea { module { // idea Module 的忽略列表加入下面这些目录 excludeDirs += [file(bin), file(libs), file(node_modules), file(tools), file(.settings)] }}结语这一通折腾花了我大半天时间——好吧,感觉更累了,为了保留点劳动成果,我在 github 上创建了个示例项目(其实早就创建了,这次是大更新),有需要的可以参考一下,起码可以少走点弯路。 HYPERLINK /someok/gradle-multi-project-example gradle-multi-project-exampleover!!!

文档评论(0)

js1180 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档