我正在编写一个 Eclipse RCP 应用程序,我正在尝试使用单独的数据库进行测试,以防止损坏我的生产数据库。在测试数据库的设置过程中,我需要执行一个 sql 文件来填充测试数据。
有没有办法告诉应用程序使用不同的数据库并执行特定的 sql 脚本(可能通过启动属性或片段或其他)?
谢谢
我现在发现并且正在使用一种不同的方法,更多的 RCP 恕我直言。我定义了一个片段来覆盖数据库道具并替换主机插件中的虚拟查询文件。然后我定义了两个特性——一个用于使用片段的测试,一个用于不带片段的生产特性。然后在不同的产品中使用这些功能——一种用于生产,一种用于测试。工作正常
听起来像是 OSGi 服务的完美用例。
您的应用程序将接受诸如 Eclipse 可执行文件之类的参数。您可以在应用程序的 ini 文件中指定参数(在 Eclipse 中为 eclipse.ini,您可以为您的应用程序重命名),格式为
-vmargs
-Dkey=value
这些值可以使用System.getProperty
在某些平台上,您也应该能够从命令行接受这些参数。
对于 RCP,我通常使用某种类型的属性文件。在其中我会指定诸如要使用的数据库和启动脚本(如有必要)之类的东西。随着您的应用程序的增长,这种方法将非常值得。