首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jxbtrowser在运行时检索平台特定的伪制品

Jxbtrowser在运行时检索平台特定的伪制品
EN

Stack Overflow用户
提问于 2016-08-15 11:10:09
回答 1查看 49关注 0票数 0

我正在编写一个intelij插件,并希望在运行时下载平台特定的伪制品。

我已经将特定于平台的jar加载到了类加载器中,但是当以"/“作为前缀时,ChromiumExtractor无法访问嵌套的资源。因此,我可以以“Cr-mac.zip”的形式访问资源,但是库不能访问。

我尝试将嵌套的压缩铬制品解压缩到正确的目录中,但这并不能导致有效的解决方案。所以,现在我一直在尝试拼凑库提取人工制品的方式,但由于代码被混淆了,所以相当繁琐。

jxbrowser插件是否支持在运行时检索工件。是否可以添加这样的支持(jxbtrowser使用,所以对于支持问题等等,这是给他们的信息:D )?

所采取的办法:

代码语言:javascript
复制
// inside intelij plugin . The plugin has the jxbrowser-6.6.jar 
// and license.jar loaded into the classloader. the platform specific
// artefact will be retrieved manual).

val cl = URLClassLoader(arrayOf(URL("file://.../jxbrowser-mac-6.6.jar")), Browser::class.java.classLoader)


val backup = Thread.currentThread().contextClassLoader
try {
    Thread.currentThread().contextClassLoader = cl
    // can access like this
    Thread.currentThread().contextClassLoader.getResource("chromium-mac.zip")
    val ce = ChromiumExtractor.create()
    // cannot access as resource is retrieved "/chromium-mac.zip" ? 
    ce.extract(BrowserPreferences.getChromiumDir())

    browser = Browser()
} finally {
    Thread.currentThread().contextClassLoader = backup
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-15 12:15:52

如下所示,资源jar必须与客户端jar (以及许可)位于同一个类加载器中。如果JxBrowser为此添加了一个能够执行下载和初始化铬的助手,可能只是为持久存储目录提供了一条路径,那就太好了。

代码语言:javascript
复制
private fun initializeJxBrowser(): Browser {
    if(ChromiumExtractor.create().shouldExtract(BrowserPreferences.getChromiumDir())) {
       val cl = URLClassLoader(arrayOf(
                URL("file:.../license.jar"),
                URL("file:.../jxbrowser-mac-6.6.jar"),
                URL("file:../jxbrowser-6.6.jar")
                ))

        cl.loadClass("com.teamdev.jxbrowser.chromium.BrowserContext")
          .getMethod("defaultContext")
          .invoke(null)
   }
   return Browser()

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38953972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档