我只是看看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/