在JBoss AS 7中,有没有一种交互式部署应用程序的方法?换句话说,不是在部署之前手动创建JBoss部署描述符(例如jboss-web.xml),JBoss是否有办法提示部署者获取成功部署所需的信息和/或是否有可以通过编程方式或通过脚本来调用的API来执行此操作?例如,如果应用程序定义了在代码(@Resource
)中注释的资源引用或环境条目,那么部署者如何知道必须在部署时绑定此资源引用?
在某些背景下,我一直在使用IBM WebSphere Application Server作为我的主要Java EE应用程序服务器,它在管理控制台中提供Java API,wsadmin命令和GUI向导,该向导会提示部署者获取所需的部署信息在部署期间部署应用程序并生成自己的自定义描述符文件。我希望其他应用服务器,特别是JBoss 7,也提供类似的功能。
其中一个目标是能够自动化部署各种可移植Java EE应用程序(即不具有包含部署信息的JBoss特定描述符的应用程序),并防止部署者手动执行部署,不仅对应用程序和模块部署描述符非常熟悉,更重要的是,必须在部署时管理的代码中包含的所有注释(例如{{ 1}}注释)。
特别是,我正在寻找Java EE specification:
中满足此要求的方法EE.2.12.4部署描述符和注释
Java EE产品提供程序需要提供一个部署工具,用于解释Java EE部署描述符和类文件注释,并允许Deployer将应用程序组件的需求映射到特定Java EE产品和环境的功能。
虽然规范对于这意味着什么以及实现方式有些模棱两可,但在我看来,WebSphere Application Server能够很好地满足这一要求,而许多其他应用程序服务器(例如JBoss,似乎)需要手动创建部署之前的自定义描述符不足。
答案 0 :(得分:0)
我认为您正在寻找JBoss Web Management Console,它提供了用于部署EAR,WAR和JAR文件的Web界面。它具有一些管理和维护功能,但不支持您建议的动态依赖关系管理。
答案 1 :(得分:0)
除了jpredham建议的管理控制台之外,还有一个maven插件可能会做你想要的。新版本7.0.1已经发布,并且有一个blog post描述了如何使用maven插件添加资源。
答案 2 :(得分:0)
我知道,这个线程有点旧,但无论如何。我过去曾使用过Websphere,我知道你正在描述的部署工具。并且,对于任何版本的JBoss都没有类似的东西。
奇怪的是,当你考虑规范的措词时(“......需要提供部署工具”)