我必须通过导入文件系统项目,有它的根里面定义的build.gradle
和settings.gradle
创建IntelliJ IDEA (Community Edition 2016.2) project。当我在IDEA中打开它时,一切都很好。转换摇篮/ IDEA项目分成多个子项目
正如你可以在GitHub上看到的,基本项目目录结构目前是:
intellij-scala-gradle-example/
src/
main/
scala/
resources/
test/
scala/
resources/
build.gradle
settings.gradle
我现在想这个项目转换成3节较小的子项目,使项目的目录结构东西这样的:
intellij-scala-gradle-example/
client/
src/
main/
scala/
resources/
test/
scala/
resources/
shared/
src/
main/
scala/
resources/
test/
scala/
resources/
server/
src/
main/
scala/
resources/
test/
scala/
resources/
build.gradle
settings.gradle
我可以在命令行上处理运行所有mkdir
,并在文件系统上物理重构目录,但我不确定:
- 我需要做的,这样摇篮明白,我现在有这3个
client/
,shared/
和server/
个子项目;和 - 我不知道我需要做的,这样IDEA拿起所有这些变化,在编译正确的事情
显然,任何类(shared/src/main/scala
下)或资源(shared/src/main/resources
下)的“共享“项目应可见client/
和server/
。但客户端永远不能“看到”服务器类/资源,反之亦然。
任何想法(没有双关语意)我怎么能做到这一点,以及事件的顺序是在这里?
更新:此屏幕快照显示添加到该项目,但IDEA没有看到他们为斯卡拉子项目子项目(我无法包和Scala源添加到任何子项目)。
如何添加
到
client/build.gradle
和server/build.gradle
,或做它例如根项目构建脚本关于阅读https://docs.gradle.org /current/userguide/intro_multi_project_builds.html和https://docs.gradle.org/current/userguide/multi_project_builds.html? IJ会自动做正确的事情。 – Vampire谢谢@吸血鬼(+1)。所以,也许这里的顺序是:(1)关闭在IJ项目,(2)拆下'.idea'目录,(3)重新整理项目的目录结构我在上面显示出来的样子,(4)编辑'的build.gradle '和'settings.gradle'根据Gradle文档,并(5)重新导入/打开项目到IJ?没错,还是我错过/误解?再次感谢! – smeeb
你不需要关闭和删除IJ的东西。只需在IJ中移动和编辑即可。如果您在打开Gradle构建时启用了自动导入,则IJ将自动跟上。如果你不这样做,那么要么启用自动导入,要么在Gradle工具窗口中手动按刷新。 – Vampire