我有一个网络应用程序项目。
codebase/WEB-INF/lib
目录中。这些类仅由服务器使用。 故事结局。现在,我尝试将项目从IDE构建移至Gradle。我的项目包含两个相互依赖的模块。 InteljID为我提供警告,并进行编译。但是,使用Gradle时,它会卡住。因此,我可以以某种方式将这些类分为两个逻辑组,并有一种简单的方法来构建上述结构吗?
我试图进行多项目构建,使用多个sourceSet,但是到处都遇到相同的循环依赖错误。
最佳答案
您需要重构代码。一种方法是为服务器特定代码创建一个单独的项目,为客户端项目创建另一个项目,并为需要共享的代码创建一个公共(public)项目。接下来,可以让服务器项目和客户端项目依赖于公共(public)项目。但是,服务器项目和客户端项目本身之间不应存在任何依赖关系。
通常,您希望使通用项目尽可能小。问自己两个项目中是否都需要某堂课?如果不是,则不应将其作为通用软件包的一部分。确保保持类,包和项目之间的依赖关系是单向的。由于代码纠结,这可能包括很多重构。
推荐阅读: