一点背景:我们正在使用OSGI的Apache Felix实现来进行我们的web开发(Adobe CQ5是基于apache felix构建的)。我们有几个自己的包(大约10个),每个包都被配置为一个项目。
问题:在开发生命周期中,我们对包进行更改,然后使用ant脚本创建包并将其部署到felix中。我想知道是否有一些方法可以热部署我在开发模式中所做的更改,从而节省开发人员的时间。
根据我的研究,我们可以使用felix文件安装,它将监视文件夹中对任何包的更改,并可以自动部署它们。但这也意味着我需要运行ant脚本来构建jar文件,并将其移动到文件install正在监视的自动部署文件夹中。有没有更好/更快的方法来实现这一点?该脚本目前大约需要10秒(大约)来编译这些类,创建osgi特定的元数据文件,将classes+metadata捆绑到一个新的jar中。有没有办法进行热部署,这样我对java文件所做的任何更改都会自动反映在捆绑包中?
非常感谢
发布于 2013-10-03 05:29:33
如果您在Bndtools中开发项目,并从内置启动器运行,那么Bndtools将立即构建您更改的任何Java代码,并将更新后的包部署到运行时中。这导致了极快的编码/测试/调试/修复周期。
话虽如此,我很惊讶现在编译和构建你的包只需要10秒!您是在一台非常古老的计算机上构建的吗?或者捆绑包的大小是多in?
发布于 2013-10-10 18:26:27
我们尝试了DCEVM,它几乎做了我们期望的所有事情来缩短develop+fix+test的生命周期。我推荐给所有使用大型web应用程序的java开发人员。感谢你在bndtools上的建议,Neil。
https://stackoverflow.com/questions/19133747
复制相似问题