我目前正在开展一个大项目。我们使用来自提供者的一些代码,我们希望在我们的软件中包含他们的一个jar。
此jar目前用于数据恢复,并通过GUI询问备份文件位置。
我与提供商核实过,我无法在完整的命令行中使用此jar。
我想知道我是否可以创建一种可以填充和使用此GUI而不显示实际显示GUI的包装器?
答案 0 :(得分:2)
您必须了解 - 这与 JAR 文件无关。 JAR文件只是java应用程序的容器。所以重点是:Java应用程序引发AWT / Swing / ... UI以收集某些信息,然后驱动某些"业务逻辑"。
您唯一的机会是:如果该应用程序是以合理的方式编写的,那么应该将其写入将UI内容与实际业务逻辑分开
。换句话说:UI只是要求数据;然后调用一些其他类。那些其他类与UI事物的关系没有。
如果您的情况属实,您可以自行收集所需信息并将其推送到那些业务逻辑中。类。
但是如果该提供商做了坏工作,那么GUI和"业务逻辑"零件紧密耦合/缠结。在这种情况下,只有三种选择:
根据您的具体情况,选项3的工作可以是“不可能”之间的任何内容。和"容易做"。即使您成功创建了这样的工作:现在您的代码与该提供商的交付紧密耦合。他们所做的任何改变都可能会破坏您的解
答案 1 :(得分:2)
Selenuim可以做那些事情。
您也可以将它包含在eclipse中的新项目中,看看是否可以打开.class文件(您可能需要一个反编译器插件),如果设计得足够好并且GUI与逻辑分离,您可能会能够为它编写命令行工具