如何在Intellij Idea中组织一个大型java项目

时间:2014-11-08 04:24:18

标签: java grails intellij-idea

我知道这个问题有点笼统,但我似乎无法找到在IDEA中打破大型项目的最佳方法背后的思路。

我的项目由几个组成部分组成 -

在EC2上运行的Grails服务 托管管理员网站的grails服务器。 托管面向客户的网站的grails服务器 一个Android客户端应用程序

一些自定义构建的中间件库,用于管理与Amazon上的DynamoDB后端的交互。

中间件库旨在被其中几个组件(包括Android Ap)使用。其中一个专门用作数据层,各种ocmponenet通过该数据层访问Amazon DynamoDB后端上的数据。

在IDEA中将所有这些组件组织到项目中的目的是什么? 中间件应该构建为sperate项目吗?如何将它们导入每个组件?作为“全球图书馆”,复制源文件还是什么?

“管理网站”是否应该作为Grails服务或Android应用程序所在的同一项目中的单独包构建?

IDEA“项目结构”背后的想法和各个部分(facets / modules / libraries / SDKs等)对我来说有点不透明,但在某种程度上我觉得特别是在Android应用程序中我需要小心不要加载大量的代码我不需要或复制很多代码,以免中间件的维护变得痛苦。

对于这些主题的任何一般性指导将不胜感激,或指向有关该主题的良好参考资料。

1 个答案:

答案 0 :(得分:1)

应将每个组件组织为Intellij IDEA中的单独模块。一个模块可以使用其他模块作为依赖项。

连接库有几种选择:

  1. 在项目属性的“项目结构”部分中将jar作为全局库添加。然后将该库添加到使用它的每个模块中。

  2. 将jar作为新模块的导出依赖项添加,然后将该模块作为依赖项添加到其他模块。这种方法的优点是可以在单个模块中本地化外部依赖项,这可以帮助您更轻松地维护依赖项。