javax.persistence.Persistence.createEntityManagerFactory 不适用于 ClassGuard

标签 java jpa obfuscation

我只是看看ClassGuard (虽然我知道一些 objection )。

但是我得到了 javax.persistence.PersistenceException: [PersistenceUnit: MyPU] class or package not found 如果没有 ClassGuard 我就不会得到。

当找不到我的 @PersistenceUnit(unitName = "MyPU") 注释类时,异常是由 java.lang.ClassNotFoundException 引起的。

ClassGuard 覆盖类加载器以加载加密的类文件。因此这可能是一个问题。

我什至可以将 ClassGuard 与 JPA 一起使用吗?

很遗憾,我在网上找不到任何相关信息或邮件列表。由于 ClassGuard 在 SO 上被推荐了几次,我想我试一试......

谢谢
迈克

最佳答案

classguard 没有您在“异议”链接中提到的问题,因为加密是在 native 代码中进行的。破解的唯一方法是通过 native 调试器。但是,如果围绕它们构建良好的许可解决方案并以核心业务逻辑驻留在服务器库中的方式对可分发内容进行分层,我想这应该不是什么大问题。

希望您将 JVM arg 设置为使用 ClassGuard 类加载器。 java ....... -Djava.system.class.loader=net.jsecurity.classguard.bootstrap.ClassGuard .......

但是,如果您使用大量反射并混淆加密和未加密的类,您可能会遇到麻烦,我目前正在与他们一起解决这个问题。

关于javax.persistence.Persistence.createEntityManagerFactory 不适用于 ClassGuard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818689/

相关文章:

jpa - 为什么 EntityManager 插入而不是更新?

java - JPA日期不显示小时/分钟/秒

Java 在启动新线程之前自动等待线程完成

java - Integer.parseInt(String s, int radix) 等效于 Objective C

hibernate - 当repository.save时Spring Boot + JPA + Hibernate不提交

java - ProGuard 混淆、java、Google Gson 和通用集合——如何保留成员?

android - 在 Android 中使用 Eclipse IDE 进行代码混淆

css - 如何使用 UiBinder 声明依赖样式名称

java - 使用java从字符串中删除双字母

java - 夏令时问题