我熟悉Tomcat的传统类加载系统:
Bootstrap
|
System
|
Common
/ \
Webapp1 Webapp2 ...
我正在为部署在 Tomcat 6 上的现有 Web 应用程序编写一个测试器 Web 应用程序。理想情况下,使用上下文参数指示要测试的应用程序的上下文路径(我们称之为主题),然后它将直接加载图书馆在它自己之前的主题。所以我希望得到的树是(不是胆小的人,你已经被警告过):
Bootstrap
|
System
|
Common
/ \
Subject Webapp2 ...
|
Tester
我可能可以通过复制库获得相同的效果,但这并不是一个优雅的解决方案,因为这需要主题和测试者都已经由 Tomcat 从它们的 war 文件中扩展。
我的问题是:假设 Subject 已经存在并且它独立于 Tester 工作,有没有一种方法可以通过简单地在 webapp 目录中添加 war 文件并启动 Tomcat 来完成(理想情况下不修改 Tomcat 配置,但可以理解的是可能不可能)?我的后续问题是,我应该注意这种技术(安全性或其他方面)是否有任何缺点?
感谢任何反馈,因为我正在尝试确定这是否是一个可行的想法,或者我是否正在创造弗兰肯斯坦的怪物。
注意: 我可能应该补充一点,Subject 不仅仅是任何通用应用程序,而是我们公司实施的特定应用程序,因此虽然 Subject 应该独立于 Tester 工作,但这并不意味着我不能修改 Subject 如果它有助于这项工作.