如何将 Gui jar 转换为命令行 jar?
How to transform Gui jar into command line jar?
我目前在做一个大项目。我们使用来自供应商的一些代码,我们希望在我们的软件中包含他们的一个 jar。
该jar目前用于数据恢复,通过GUI查询备份文件位置
我已与提供商核实,我无法在完整命令行中使用此 jar。
我想知道我是否可以制作一种可以填充和使用此 GUI 而无需实际显示 GUI 的包装器?
您必须了解 - 这与 JAR 文件无关。 JAR 文件只是 java 应用程序的 容器 。所以重点是:Java 应用程序提出 AWT/Swing/... UI 来收集某些信息,然后 驱动 一些 "business logic".
您唯一的机会是:如果该应用程序是以合理的方式编写的,那么它应该被编写为将 UI 内容与实际业务逻辑分开。
换句话说:UI只是在请求数据;然后调用一些 other 类。而那些 other 类 与 UI 事物完全 没有 关系。
如果您的情况确实如此,您只需自己收集所需的信息并将其推送到 "business logic" 类.
但是,如果该提供者的工作很糟糕,那么 GUI 和 "business logic" 部分就会紧密 coupled/entangled。那么,只有三个选择:
- 你放弃
- 您向您的供应商投诉并要求他们重新设计他们的设计,以提出一个可以驱动而不需要他们的 GUI 申请
- 你试图逆向工程他们的 GUI 实际上在做什么;然后你尝试基于那个
构建你自己的"driver"
根据您的情况,选项 3 的努力可以介于 "impossible" 和 "easy to do" 之间。即使您成功创建了这样的解决方法:现在 您的 代码与该提供程序的交付紧密耦合。他们所做的任何更改都可能破坏您的解决方案。
Selenuim 可以做这类事情。
你也可以将它包含在eclipse的一个新项目中,看看你是否可以打开.class文件(你可能需要一个反编译插件),如果它设计得足够好并且GUI是与逻辑分离,您可以为其编写命令行工具
我目前在做一个大项目。我们使用来自供应商的一些代码,我们希望在我们的软件中包含他们的一个 jar。
该jar目前用于数据恢复,通过GUI查询备份文件位置
我已与提供商核实,我无法在完整命令行中使用此 jar。
我想知道我是否可以制作一种可以填充和使用此 GUI 而无需实际显示 GUI 的包装器?
您必须了解 - 这与 JAR 文件无关。 JAR 文件只是 java 应用程序的 容器 。所以重点是:Java 应用程序提出 AWT/Swing/... UI 来收集某些信息,然后 驱动 一些 "business logic".
您唯一的机会是:如果该应用程序是以合理的方式编写的,那么它应该被编写为将 UI 内容与实际业务逻辑分开。
换句话说:UI只是在请求数据;然后调用一些 other 类。而那些 other 类 与 UI 事物完全 没有 关系。
如果您的情况确实如此,您只需自己收集所需的信息并将其推送到 "business logic" 类.
但是,如果该提供者的工作很糟糕,那么 GUI 和 "business logic" 部分就会紧密 coupled/entangled。那么,只有三个选择:
- 你放弃
- 您向您的供应商投诉并要求他们重新设计他们的设计,以提出一个可以驱动而不需要他们的 GUI 申请
- 你试图逆向工程他们的 GUI 实际上在做什么;然后你尝试基于那个 构建你自己的"driver"
根据您的情况,选项 3 的努力可以介于 "impossible" 和 "easy to do" 之间。即使您成功创建了这样的解决方法:现在 您的 代码与该提供程序的交付紧密耦合。他们所做的任何更改都可能破坏您的解决方案。
Selenuim 可以做这类事情。
你也可以将它包含在eclipse的一个新项目中,看看你是否可以打开.class文件(你可能需要一个反编译插件),如果它设计得足够好并且GUI是与逻辑分离,您可以为其编写命令行工具