使用jxbrower報錯,原因時證書檢驗失敗,
解決方案:
1.首先創建證書,下面是我在IDEA maven項目中創建的位置,Java項目中在src/目錄下創建,
META-INF/teamdev.licenses
Product: JxBrowser
Version: 6.x
Licensed to:POPK
License type: Enterprise
License info: JxBrowser License
Expiration date: 01-01-9999
Support expiration date: NO SUPPORT
Generation date: 01-01-1970
Platforms: win32/x86;win32/x64;mac/x86;mac/x64;linux/x86;linux/x64
Company name: TeamDev Ltd.
SigB: 1
SigA: 1
2.添加靜態代碼
static {
try {
Field e = aq.class.getDeclaredField("e");
e.setAccessible(true);
Field f = aq.class.getDeclaredField("f");
f.setAccessible(true);
Field modifersField = Field.class.getDeclaredField("modifiers");
modifersField.setAccessible(true);
modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL);
modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);
e.set(null, new BigInteger("1"));
f.set(null, new BigInteger("1"));
modifersField.setAccessible(false);
} catch (Exception e1) {
e1.printStackTrace();
}
}
可以將靜態代碼段添加在項目啟動處
此代碼針對jxbrowser-win-6.6.jar版本,原理就是通過反射來修改字段,使驗證通過,(不同版本需反射的類不同,)。