我正在开发一个类来访问有关存储在 Jar 文件中的类库的信息并运行为每个类库定制的操作。它包含从 Jar 文件加载本地化字符串等的方法。
public class CodeBundle {
public static String str(String id) {
...
}
...
}
我需要能够知道我试图从哪个库加载信息,所以我希望能够使用代表每个库的子类,例如:
public class JAppFramework extends CodeBundle {
...
}
所以现在在作为 JApp 框架一部分的代码中,我希望能够调用JAppFramework.str("...")
以从 JApp 框架资源包中加载字符串。如果我有另一个库,例如TestLibrary
,我希望能够调用TestLibrary.str("...")
以从测试库的资源包中加载字符串。我所做的是在CodeBundle
调用getFile()
中定义了一个方法,该方法将返回从中加载库的 Jar 文件。然后该str()
方法将使用它来加载本地化字符串。
问题在于,据我所知,其中的静态方法CodeBundle
只能访问存储在类中的数据,而不能访问其任何子类中的数据。CodeBundle
由于各种原因,我不能使用“getClass().getResource(name)”来加载资源。
有什么办法可以做我想做的事吗?