在最終解決方案中,我最終在Maven pom.xml中包含了「hibernate-envers」依賴項。在依賴聲明下面,我使用了一堆「排除」標記來排除那些僅在實際運行Hibernate時至關重要的依賴關係,但僅在使用註釋和驗證實體時纔是關鍵。通過這個我可以使用所有的Hibernate註釋(不僅@Audited),但仍然保持足跡相對較小。 我首先使用@Naros的方法(感謝您的建議),但這導致我包括越來越多的各種Hibernate註釋所需的源代碼依賴項。當然這取決於你想要達到的目標,但對我個人而言,基於Maven的解決方案效果更好。這裏是爲我工作的POM:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>5.2.7.Final</version>
<exclusions>
<exclusion>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
</exclusion>
<exclusion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss</groupId>
<artifactId>jandex</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.1_spec</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
</exclusion>
<exclusion>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.hibernate.common</groupId>
<artifactId>
hibernate-commons-annotations
</artifactId>
</exclusion>
</exclusions>
</dependency>