JXBrowser 捆绑包:此许可证只能与绑定到 class 名称一起使用

JXBrowser Bundle: This license can only be used with Bound to class name

我正在尝试将 JXBrowser 捆绑到 OSGI 插件中,但我一直收到无效许可错误。我的 teamdev.licenses 文件信息的错误输出是:

-- Product name: JxBrowser
-- Licensed version: 6.x
-- Licensed to: 
-- License type: Development
-- License bound to product: Bound to class name
-- Generation date: Apr 12, 2017
-- Expiration date: NEVER
-- License info: Open Source Project
-- Current date: Aug 24, 2017
JxBrowser license check failed: This license can only be used with Bound to class name

我已通过 Maven 在 eclipse 中成功加载 JXBrowser,但我需要知道如何将许可证绑定到我的 class 名称,在本例中为 org.brettjsettle.internal.OpenExternalAppTask。 JXBrowser 网站说:

The license.jar file that contains JxBrowser license isn't an OSGi bundle, so we recommend that you extract the teamdev.licenses file from the license.jar archive and put it into META-INF folder of the jxbrowser.jar file, so that license checker could find it.

因为我是通过 Maven 获取 JXBrowser,所以我只是将 teamdev.licenses 粘贴到我的 src/main/resources/META-INF 文件夹中。我试过向许可证文件添加行,但结果是 Signature is not valid

我错过了什么吗?如何将许可证绑定到 class 名称? 谢谢

我需要解压 JXBrowser jar 并手动将许可证文件添加到 META-INF 目录,重新打包 jar 并将其安装到本地我的 maven。我想我只是希望这样可以减少工作量。

对于其他人,您可以解压缩 jar,添加您的许可证文件,然后在解压缩的目录中使用 jar cvfM jxbrowser-X.X.jar ./* 重新打开它。然后使用以下命令将其安装到本地 Maven:

mvn install:install-file -Dfile=jxbrowser-6.14.2.jar -DgroupId=com.teamdev.jxbrowser -DartifactId=chromium -Dversion=6.14.2 -Dpackaging=jar
mvn install:install-file -Dfile=jxbrowser-mac-6.14.2.jar -DgroupId=com.teamdev -DartifactId=jxbrowser.mac -Dversion=6.14.2 -Dpackaging=jar

希望这对某人有所帮助!

输出中的错误消息表明您拥有的许可证绑定到特定的 class 名称,该名称未包含在您的应用程序 class 路径中。 当您从 JxBrowser 销售团队获得许可证文件时,您应该在您的应用程序中向他们提供特定的 class。 请确保 class 在您的应用程序 class 路径中。