簡體   English   中英

Java類過濾器可在自定義加載程序中引用類時加載不同版本的同一類?

[英]Java class filter to load same class of different versions when class referred in custom loader?

為了說明這種情況,我有一個名為com.test.A的類,同一類將由不同的用戶修改(例如:DEV1和DEV2),但是他們修改了各自的類,例如:com.test.DEV1.A,com .test.DEV2.A

如果我使用自定義加載程序並加載類A,是否有可能根據某種條件過濾A對DEV1.A或DEV2.A的引用?

如果沒有對該問題的進一步了解,我會說您正在嘗試在錯誤的位置解決此問題。

這看起來更像是分支問題,應使用SCM為您提供的功能在配置管理級別中解決。 請看一下這篇文章,了解如何正確處理不同的並行開發https://thedailywtf.com/articles/Source-Control-Done-Right

語氣很容易理解,為了將分支引入團隊,我已經成功地使用了它,希望您喜歡

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管道)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM