Java 是否可以在应用程序启动时选择类路径jar?
即:Java 是否可以在应用程序启动时选择类路径jar?,java,classpath,Java,Classpath,即: 注意:是的,还有其他加载方式、工厂等。但如果可以做到这一点,则可能会在应用程序启动时动态选择整个特定于平台的包实现。请记住,一旦加载一个类,它将使用自己的类加载器加载它需要的其他类。因此,您所需要做的就是让应用程序中的第一个类计算出动态类路径,并用您想要的条目列表构造一个URLClassLoader。然后使用该类加载器加载真正的主类,您就完成了:动态类路径将用于应用程序的其余部分,或者用于通过真正的主类加载的任何类,在任何情况下。请记住,一旦加载了一个类,它将使用自己的类加载器加载它需要的
注意:是的,还有其他加载方式、工厂等。但如果可以做到这一点,则可能会在应用程序启动时动态选择整个特定于平台的包实现。请记住,一旦加载一个类,它将使用自己的类加载器加载它需要的其他类。因此,您所需要做的就是让应用程序中的第一个类计算出动态类路径,并用您想要的条目列表构造一个URLClassLoader。然后使用该类加载器加载真正的主类,您就完成了:动态类路径将用于应用程序的其余部分,或者用于通过真正的主类加载的任何类,在任何情况下。请记住,一旦加载了一个类,它将使用自己的类加载器加载它需要的其他类。因此,您所需要做的就是让应用程序中的第一个类计算出动态类路径,并用您想要的条目列表构造一个URLClassLoader。然后使用该类加载器加载真正的主类,您就完成了:动态类路径将用于应用程序的其余部分,或者在任何情况下用于通过真正的主类加载的任何类
main_or_init()
{
if(some platform specific condition) {
addToClassPath("jarFileA.jar");
} else {
addToClassPath("JarFileB.jar");
}
// which implementation selected above
ClassFromJarFile firstInstance = new ClassFromJarFile();
}