如何在配置类中使用第三方实现来管理JAR?

时间:2016-12-28 03:24:44

标签: java configuration dependencies

假设

  • 我喜欢以一个或多个类相互引用的形式管理Java应用程序的配置,这些类是我/从XML序列化的,因为我喜欢这样可以节省大量工作的方式。
  • 我有一个带有接口的Java项目,并且应用程序打包在不同的JAR中,其中接口被设计为允许第三方实现接口,并且用户通过花哨的GUI在运行时加载它们。配置类以接口的形式存在,因此可以在序列化的XML中出现。
  • 我想有一个配置文件只控制所有资源的所有部分(我可能不得不放弃,但我对你的答案感到好奇)。它在默认位置搜索,如果不存在则可以使用默认值创建,或者可以在命令行中指定。

如何在加载配置之前获取有关第三方实现位置的信息,并且仍然只保留一个干净的配置文件?

1 个答案:

答案 0 :(得分:0)

  • 使用XStream和XStream.omitField解析XML一次,该字段包含需要从引用的JAR加载的配置类实例。
  • 然后我读取部分配置到JAR的位置并加载类。
  • 然后我用完全反序列化的配置覆盖部分解析的配置(使用XStream的新实例)。