gpt4 book ai didi

java - 在 Java 中控制包依赖性 (Eclipse)

转载 作者:行者123 更新时间:2023-11-30 06:35:20 26 4
gpt4 key购买 nike

我有一个由多个包组成的 Java 项目(在 Eclipse 中)。我想控制包之间的依赖关系,例如,一个包不能使用项目中的其他包。这样做的原因是我要从包的子集制作一个独立的 jar。

我是否必须将我的项目分成几个来实现这一点,或者是否有一些工具或 Eclipse 插件可以做到这一点?

最佳答案

自从Aspectj现在是 Eclipse 项目,我想 Aspectj 解决方案也符合条件。 AspectJ 非常适合这样的策略实现,因为它允许您基于切入点创建编译时警告和错误。如果你使用 AspectJ Developer Tools ,您可以在 Eclipse 中启动和运行方面。

这是一个示例策略执行方面:

public aspect PolicyEnforcement {

pointcut project1Call() : call(* com.project1..*.*(..));
pointcut inProject1() : within(com.project1..*);
pointcut project2Call() : call(* com.project2..*.*(..));
pointcut inProject2() : within(com.project2..*);

declare error : project1Call() && inProject2()
: "Project2 is not allowed to access Project1";
declare error : project2Call() && inProject1()
: "Project1 is not allowed to access Project2";
}

注意:仅在开发阶段使用 AspectJ 是完全可以的,不会导致任何运行时依赖性。

关于java - 在 Java 中控制包依赖性 (Eclipse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6187399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com