0

我有这种情况: 包 1:com.foo.xxxx 具有框架的基本功能,包 2. com.bar.xxxx 具有使用框架功能的类。

我在同一个项目中有两个包(我使用 IntelliJ)。

开发者不应该在 com.foo.xxx 包中引用 com.bar.xxx 包中的任何类(因为 foo 是框架词,你应该使用 bar 中的框架)。但当然,现在比这发生了。该项目将在 Intellij 中正常编译,但是在部署 framework.jar 时,对运行时存在未解决的依赖关系。

是否有任何框架或方法可以在编译时解决这个问题?有没有人有这方面的经验?我可以为此使用 APT 吗?

我可以想象像 com.foo.xxx 的标志或注释之类的东西,如果在 com.foo 下的任何类中使用来自 com.bar.xxx 的类,则会在编译时引发错误。

有任何想法吗?

谢谢。

Zs。

4

1 回答 1

1

我建议您定义 2 个单独的项目。AFAIK IDE(不过我不知道 IntelliJ)应该防止您对项目进行循环依赖。甚至更好:使用 Maven 等构建工具来管理您的依赖项。

如果您不想或可以将代码泄漏到 2 个项目中,则可以使用 JDepend 等工具来检测包依赖周期。

于 2013-06-19T07:49:24.473 回答