创建功能有限的 Java 应用程序的试用版 [关闭]

2024-03-06

我正在寻找有关如何实现 java 应用程序试用版的想法。大多数帖子都是关于创建试用软件,并限制其停止工作的时间。就我而言,我想创建一个功能有限的应用程序,并且可以通过购买产品来解锁该应用程序的所有功能。我非常感谢社区对以下几点的想法。这个问题的一个转折是使这个解决方案尽可能通用,以便它可以在 Mac 和 Windows 上运行。

我的解决方案的方法包括在应用程序启动时检查“注册”文件是否存在。如果存在有效的注册文件,则应用程序将完全正常运行。该文件将放置在用户的应用程序数据目录中。这样在 Windows 中卸载应用程序就不会触及该文件。另外,在Mac上,一般情况下删除app文件夹应该没有问题,除非用户安装了AppCleaner之类的软件,它会提示删除~/Library/Application Support文件夹下的应用程序目录。

所以,这是我的第一个问题。社区对于如何处理已购买该应用程序的用户的注册文件被删除的情况有何看法?

我认为这也与注册/购买的方式有关。这是我的第二个问题。我不会在软件中处理任何信用卡交易,我宁愿贝宝做这一切。因此,假设有人购买软件后,我给了他们一个可以解锁该软件的注册密钥。我首先担心的是任何拥有此注册密钥的人都可以解锁该软件。我怎样才能限制这个?有想法吗?

这个话题可能需要一些讨论,我希望没关系。期待听到您的意见。

编辑:我只是想回到这篇文章并更新它,以提及我最终在评估 TrueLicense 和 License3j 后,选择使用 TrueLicense。我仍在弄清楚如何使用它,因为文档并不那么容易。我正在尝试研究该示例,希望我能尽快为我的应用程序启动并运行该示例。


最近我一直在对同一主题进行一些研究。我发现有必要实施一个许可证管理器。我发现真实许可证 http://truelicense.java.net/开源库tutorial http://alvinalexander.com/java/java-license-key-generator-manager-free带有代码示例。

...当使用 True License 或任何其他 Java 许可证管理器库时, 您将需要创建两个组件:

  • 软件许可证服务器,每当客户购买您的软件副本时,它就会生成新的软件许可证,以及
  • 软件许可证客户端,它是嵌入到 Java/Swing 客户端应用程序中用于安装和验证许可证的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建功能有限的 Java 应用程序的试用版 [关闭] 的相关文章

  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • 有没有创建 Cron 表达式的 Java 代码? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个 Java 代码来根据用户输入创建一个 cron 表达式 用户输入是时间 频率和执行次数 只需从评论中添加 自己创建 即可
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • java inputstream 打印控制台内容

    sock new Socket www google com 80 out new BufferedOutputStream sock getOutputStream in new BufferedInputStream sock getI
  • Mockito 使用 @Mock 时将 Null 值注入到 Spring bean 中?

    由于我是 Spring Test MVC 的新手 我不明白这个问题 我从以下代码中获取了http markchensblog blogspot in search label Spring http markchensblog blogsp
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • 如何在 Spring 中使 @PropertyResource 优先于任何其他 application.properties ?

    我正在尝试在类路径之外添加外部配置属性资源 它应该覆盖任何现有的属性 但以下方法不起作用 SpringBootApplication PropertySource d app properties public class MyClass
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • Android S8+ 警告消息“不支持当前的显示尺寸设置,可能会出现意外行为”

    我在 Samsung S8 Android 7 中收到此警告消息 APP NAME 不支持当前的显示尺寸设置 可能会 行为出乎意料 它意味着什么以及如何删除它 谢谢 通过添加解决supports screens 机器人 xlargeScre
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • 将 JSON 解析为 MONGODB 文档

    我是新来的JAVA and MONGODB并且一直在学习尝试并了解这些技术是否能够满足我对产品的要求 我目前陷入无法插入文档 记录 的地步JAVA进入我的MONGODB收藏 我正在使用新的MONGODB version 3 0 到目前为止的
  • 如何在heroku 上托管我的discord.py 机器人?

    我目前正在尝试将我的 Discord 机器人连接到 Heroku 并 24 7 托管它 但我遇到了问题 我将我的机器人上传到 githubhttps github com zemocode flankebot tree master htt
  • 如何更改 .net Web 应用程序中的默认区域性设置?

    我们的 Web 应用程序 net C 使用 amount ToString c 格式化货币金额 显示为几个不同区域的本地化 我们的法裔加拿大用户更喜欢所有金额均采用美国格式 123 456 99 而 fr CA 的默认 Windows 格式
  • Android中如何将日志写入SD卡? [复制]

    这个问题在这里已经有答案了 我的程序在设备中崩溃 我想在我的设备中运行时准确捕获程序的日志 即我想将日志写入我的 SD 卡 直到崩溃为止 我怎样才能实现这个目标 尝试这个 Thread setDefaultUncaughtException
  • 从模块关闭用户窗体

    我正在尝试从模块关闭用户表单 但它不起作用 这是我尝试过的 Sub UpdateSheetButton Dim subStr1 As String Dim subSrrt2 As String Dim tmp As Integer Dim
  • Android Flash 切换按钮崩溃

    应用程序在四种不同的设备上运行良好 但客户端在打开 关闭闪光灯按钮时面临崩溃Xperia z2 主要活动 btnFlash setOnClickListener new OnClickListener Override public voi
  • 需要 Nest REST API 的工作示例而不使用 Firebase API

    我正在努力寻找一个使用普通休息将数据写入 Nest Thermostat API 的工作示例 尝试编写 C 应用程序但无法使用 Firebase 到目前为止发布的多个 Curl 示例不起作用 我有一个有效的 auth token 并且可以毫
  • 为分配/指派问题建立线性规划

    我在线性程序方面遇到了一些麻烦 我已经解决并使用 Excel 但现在我想在 R Python 中执行它 因为我已经达到了 Excel 和求解器的限制 因此 我就这个特定主题寻求帮助 我通过改变 lp assign 函数尝试使用 lPsovl
  • 需要在 web.config 中加密连接字符串和 stmp 信息

    我想在 web config 中保留加密的连接字符串和 stmp 信息 我可以将连接字符串和 SMTP 信息加密存储在 web config 中 并在其中解密和使用吗 OR 我可以加密连接字符串和 SMTP 并保存在 web config
  • Objective-C++ 导入 C++ 类失败,找不到 cassert

    因此 我想公开公开一个 Box2D C 指针 指向我的 cocos2d box2d 项目中的其他 Objective C 类 我在接口中声明了一个方法 getWorld 该方法引用 C 类 b2World 并导入 Box2D h 我的项目中
  • Prisma 部署 Docker 错误“无法连接到服务器”

    这是我已经完成的步骤 prisma init 我在本地 不存在 中为数据库设置了 postgresql 它创建了 3 个文件 datamodel graphql docker compose yml prisma yml docker co
  • 在Databricks(DBFS)中递归列出目录和子目录的文件

    使用python dbutils 如何在Databricks文件系统 DBFS 中递归显示当前目录和子目录的文件 关于 dbutils fs ls 和 fs 魔法命令 的令人惊讶的事情是它似乎不支持任何递归开关 然而 由于 ls 函数返回
  • 如何让VIM在写信时播放打字机声音?

    写了很多之后Windows 上的 Q10 http www baara com q10 我已经习惯了每次按键时发出的打字机声音 至少对我来说 拥有这种声音反馈感觉很棒 另一方面 在 Linux 上 我喜欢用 VIM 编写它 因为它的编辑功能
  • 如何使用 iOS 应用程序中的 X.509 证书数据对 PDF 进行数字签名

    我正在我的应用程序中生成 PDF 我想为通过我的应用程序生成的这些 pdf 提供最好的安全性 我添加了 Apple 提供的默认安全选项 例如所有者密码 允许复制 允许打印等 但我想添加我的证书信息或将其称为使用自定义证书 X 509 证书
  • C ++对`vtable的未定义引用

    我的问题与我发布的另一个问题有所不同 我一开始使用多个文件 并决定暂时将其全部放入一个 main cpp 文件中 以使其正常工作 主要 cpp include
  • Java 中的 Int 到英语单词

    我在这里想问一些奇怪的事情 我想问是否有任何方法 逻辑可以将整数值转换为包含数字英文单词的字符串值 例如 用户输入 22 并得到输出 22 或 2 Thanks 查看this http www rgagnon com javadetails
  • 如何使用 ASP.NET Identity (OWIN) 访问 Facebook 私人信息?

    我正在 ASP NET MVC 5 中开发一个网站 当前使用 RC1 版本 该网站将使用 Facebook 进行用户身份验证和检索初始个人资料数据 对于身份验证系统 我使用新的基于 OWIN 的 ASP NET Identity 引擎 ht
  • 如果用户使用 Google 登录,ASP.NET Core Identity 2.0 SignoutAsync 不会注销用户

    我已设置并运行 Asp net Core Identity 版本 2 0 我发现 signinManager SignoutAsync用户登录 Google 后不会注销用户 当我返回登录方法时 它仅显示用户已登录 其声明对象仍然完好无损 代
  • 为什么 Python 中没有元组理解?

    众所周知 有列表理解 比如 i for i in 1 2 3 4 并且有字典理解 比如 i j for i j in 1 a 2 b items but i for i in 1 2 3 最终会出现在发电机中 而不是tuple理解 这是为什
  • 创建功能有限的 Java 应用程序的试用版 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在寻找有关如何实现 java 应用程序试用版的想法 大多数帖子都是关于创建试用软件 并限制其停止工作的时间 就我而言 我想创建一个功能有限的