vit*_*aut 2 java eclipse dependencies package
我有一个Java项目(在Eclipse中)由几个包组成.我想控制包之间的依赖关系,例如,一个包不能使用项目中的其他包.这样做的原因是我将从一个包的子集中创建一个自包含的jar.
我是否必须将我的项目分成几个才能实现这一点,或者是否有一些工具或Eclipse插件可以实现这一点?
因为Aspectj现在是Eclipse项目,所以我认为Aspectj解决方案也符合条件.AspectJ非常适合这样的策略实施,因为它允许您基于切入点创建编译时警告和错误.如果您使用AspectJ开发人员工具,则可以在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";
}
Run Code Online (Sandbox Code Playgroud)
注意:在开发阶段仅使用AspectJ就可以完全没有引起任何运行时依赖性.
| 归档时间: |
|
| 查看次数: |
994 次 |
| 最近记录: |