为了说明这个场景,我有一个名为com.test.A的类,同一个类将由不同的用户修改(例如:DEV1& DEV2),但是他们修改了各自的类,例如:com.test.DEV1 .A,com.test.DEV2.A
如果我使用自定义加载器并加载A类,是否有可能根据某些条件过滤A对DEV1.A或DEV2.A的引用?
答案 0 :(得分:1)
如果不进一步了解问题我会说你试图在错误的地方解决这个问题。
这看起来更像是一个分支问题,应该使用SCM为您提供的功能在配置管理级别解决。请查看本文,了解如何正确处理不同的并行开发https://thedailywtf.com/articles/Source-Control-Done-Right
语气非常容易接触,我已成功使用它,以便为团队引入分支,我希望你喜欢它
答案 1 :(得分:0)
Class A {
methodForUser1(params);
methodForUser2(params);
....
wrapperMethod(params) {
if (context.user.equals(user1))
methodForUser1(params);
else if (context.user.equals(user2))
methodForUser2(params)
....
}
}
现在每个用户只需调用wrapperMethod,它将依次委托给用户在上下文中使用的正确方法。
这是一种蛮横的做法。此外,您可以使用反射加载方法。
另一种方法可能是@Jorge_B在另一个答案中提出的建议(维护不同的CI管道)