春季启动->在战争部署期间(而不是在战争产生期间)动态添加jars

时间:2018-09-08 07:53:04

标签: java maven spring-boot tomcat war

我已经删除了嵌入式tomcat,并产生了战争并将其部署在Tomcat中。在生成war的同时,我可以按照here的方式添加maven依赖关系,或使用maven war插件添加jar,然后将其部署到Tomcat。我的要求是在战争爆发后再加罐子。我可以使用@ImportResource从外部路径添加bean定义xml,在部署启动应用程序时,我可以看到它加载了bean定义。但是战争爆发后,我需要从外部添加罐子。我知道如果使用嵌入式Tomcat,则可以使用loader.path属性并从某个位置动态加载jar。我猜想在战争部署中应该达到同样的目的。请在这里指导我。

请注意,在先前的Spring应用程序中,我们使用context.xml加载了自定义我们应用程序的外部插件jar。

<Context>
<Resources>
    <PostResources className="org.apache.catalina.webresources.DirResourceSet" base="/path/to/thirdpartylibs/" webAppMount="/WEB-INF/lib" />
    <PostResources className="org.apache.catalina.webresources.DirResourceSet" base="/path/to/plugins/" webAppMount="/WEB-INF/lib" />
    <PostResources className="org.apache.catalina.webresources.DirResourceSet" base="/path/to/additional/beandefinitions" webAppMount="/WEB-INF" />
</Resources>

我们需要使用Spring Boot的相同功能。有可能吗?

1 个答案:

答案 0 :(得分:0)

我不知道是否可能,但是当您只可以使用Spring Boot中的嵌入式tomcat时,为什么要这样做,Spring Boot的目的不是与配置混淆,所以我建议使用spring boot嵌入式tomcat和单个jar文件进行部署