xjar
xjar copied to clipboard
解密后 有引用的包 运行不了
a jar 包 引用了 多个三方包 a 加密 第三方包不加密 a 和 第三方包都在 lib 目录下 a jar 包中与第三方包有继承关系 必须要有第三方包才能运行 a jar 解密后 运行不要 继承的类 转换 不了 第三方父类 导致 运行错误
没听明白 抛出什么异常?
Exception in thread "main" java.lang.ClassCastException: com.cluster.ImClusterService cannot be cast to com.cluster.ImClusterServiceIfc at com.commons.classload.SKJarLauncher.main(SKJarLauncher.java:94)
你们用到了自定义ClassLoader 吗
是用的 xjar 的 ClassLoader 只是我自己封装了一下
这个我在开发XJar的时候倒没有考虑这种使用场景
我给你一个思路吧 同一个Class 被不同的ClassLoader 加载 是两个class 所以是不能强转的
初看你这段代码 好像 ClassLoader parent = this.getClass().getClassLoader().getParent(); 有点问题
是不是应该改成ClassLoader parent = this.getClass().getClassLoader();
之前 我是照着 XJarLauncher 这个类写的
改成你说的 方式 还是不行
xjar 是不是只支持 一个jar 包的环境
还有其他的解决方案嘛