Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java truelicense在哪里保存许可文件_Java_Licensing_License Key_Truelicense - Fatal编程技术网

Java truelicense在哪里保存许可文件

Java truelicense在哪里保存许可文件,java,licensing,license-key,truelicense,Java,Licensing,License Key,Truelicense,这个问题对于TrueLicense的实现及其工作非常具体。在教程和更多帮助的帮助下,我已经成功地使用TrueLicense在我的软件上应用了许可。然而,我仍然不清楚TrueLicense的某些方面以及它是如何工作的,我希望有人能启发我。现在,我不明白的是当我打电话给 licenseManager.install() 方法(确保满足其余的先决条件)在何处实际持久化许可证文件。我知道它会以某种方式持久化,因为第二次启动应用程序并运行 licenseManager.verify() 方法返回h

这个问题对于TrueLicense的实现及其工作非常具体。在教程和更多帮助的帮助下,我已经成功地使用TrueLicense在我的软件上应用了许可。然而,我仍然不清楚TrueLicense的某些方面以及它是如何工作的,我希望有人能启发我。现在,我不明白的是当我打电话给

licenseManager.install() 
方法(确保满足其余的先决条件)在何处实际持久化许可证文件。我知道它会以某种方式持久化,因为第二次启动应用程序并运行

licenseManager.verify() 
方法返回happy。我真的很想了解一下这方面的情况

源代码(TrueLicense):

如果您使用标准Java首选项API(),您将在Windows上的注册表中看到这一点。在Linux和OS X上,有一个隐藏的“.”目录包含这些键

通常,我只使用该方法,因为它不需要Windows上的管理员。

打开regedit工具; 在
HKEY\u CURRENT\u USER/Software/JavaSoft/Prefs/{$the.package.of.your.license.classes}下。


注意:这仅适用于windows,是默认行为。(使用原始的
首选项\u KEY
值)

文件密钥文件=新文件(“license.lic”)
表示它在当前目录中,我们在实际安装许可证时指定许可证文件。但在应用程序的后续运行中,
licenseManager.verify()
返回成功,表示已安装许可证,但此处未指定任何文件。注意,这次没有指定许可证文件,因为它没有被安装。licenseManager如何知道许可证文件在哪里,或者如何保存此信息。我希望这能澄清我的问题。truelicense可以应用于开源第三方应用程序的扩展吗!很抱歉反应太晚,但这回答了我的问题。
/**
 * Installs the given license key as the current license key.
 * If {@code key} is {@code null}, the current license key gets
 * uninstalled (but the cached license certificate is not cleared).
 */
protected synchronized void setLicenseKey(final byte[] key) {
    final Preferences prefs = getLicenseParam().getPreferences();
    if (null != key)
        prefs.putByteArray(PREFERENCES_KEY, key);
    else
        prefs.remove(PREFERENCES_KEY);
}