我有 Maven 模块,其中使用 EntityListeners 定义了 JPA 实体,这些实体将在其他 GUI 项目中使用,这些实体将使用 RMI 或 EJB 进行传输,但我不想向 GUI 项目提供有关此实体和 EventityListeners 注释的任何信息,并包括 GUI 项目的依赖 JPA。
是否可以在没有注释的情况下编译第一个模块并将依赖清除jar添加到GUI? 从 GUI 部分的服务器(带注释)模块传输后,它会正确恢复实体吗?
最佳答案
当保留策略不是运行时时,注释不会存储在类中。因此,如果您可以使用替代 jar 来重新定义这些注释,这是可能的。
一种更可行的解决方案是将编译的目标 Java 版本设置为运行时注释之前的版本 (< Java 1.5)。
关于java - 如何通过maven编译classes排除注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14425328/