我正在将JPA实体提取到一个单独的Fat/Uber jar中,供外部系统使用。ProGuard是通过com.github.wvengen:ProGuard-maven插件来收缩所有其他未使用的代码。我想保留JPA实体中的所有方法,除了由@javax.persistence.Transient注释注释的方法。我找到了"!瞬态";ProGuard规则中的字段修饰符,但似乎是这样@方法的javax.persistence.Transient不起作用:(我能以其他方式对方法达到同样的效果吗?
不幸的是,我还没有得到这个问题的答案,也无法通过ProGuard+MavenPugin直接解决这个问题,但在运行ProGuard之前,我已经通过一个额外的步骤解决了这个问题。在你运行ProGuard Maven插件之前,我刚刚在Maven阶段使用了ByteBuddy+Maven插件,然后它会优化/删除其余未使用的东西,请参阅此处的字节好友插入步骤的详细信息:字节好友删除/剥离方法