我正在使用hibernate envers(4.3.5版本)。 使用条件审计(15.8。hibernate envers doc) 我继承了EnversIntegrator,创建了我自己的customerEnversIntegrator。 为了让envers使用这个,我在META-INF \ services \ org.hibernate.integrator.spi.Integrator中添加了customerEnversIntegrator路径。 它工作得很好! 当我将其保留为默认值时,但更改了应用程序META-INF \ services \ org.hibernate.integrator.spi.Integrator以指向customerEnversIntegrator未完全使用。所以它实际上没有用 但我不希望这个声明在罐子里。我需要从应用程序中覆盖它。因为作为一个项目 - 我无法控制罐子,它可以更新等等。
如何在不更改Jar中的任何内容的情况下覆盖此文件的任何想法?
答案 0 :(得分:0)
如果不具体了解,我只能回答。
放置ServiceLoader文件的位置无关紧要,只要该文件在Hibernate引导程序中位于类路径上,并且内容指向类路径中也可见的类。
值得注意的是,在Hibernate 6中,我希望为条件审计引入更加简化的方法,用户可以使用特定于实体的侦听器(想想JPA样式的实体侦听器)。这消除了覆盖任何侦听器的需要,并且可以根据需要轻松地将插件应用于任何实体。