覆盖Java JAR中的静态方法

时间:2016-02-21 23:42:05

标签: java jar classpath static-methods

在我正在进行的项目中,我有一个代码库,我想在多个Java项目中共享。

在这个库中,我有一个需要调用的静态函数。但是,此调用的功能需要根据它所在的项目而改变。例如,假设我有:

public class CommonCode
{
    public void foo ()
    {
        A.bar();
    }
}

另一堂课:

package x.y.z;

public class A
{
    public static void bar()
    {
        // This functionality varies based on the project
    }
}

现在,我已经设法通过在我自己的项目中的同一个包中放置一个具有相同名称的文件来实现这一点,所以它在类路径中的JAR之前。如:

package x.y.z;

public class A
{
    public static void bar()
    {
        // Custom code that requires other knowledge of my local project
    }
}

这是有效的,但正如我在网上看到的那样,这通常不被认为是好的"解决方案,应该被视为最后的手段。

我想知道,如果我在项目运行时完全控制项目,那么解决这个问题的更好方法是什么/这有多糟糕。

0 个答案:

没有答案