spring-boot - 在 Spring Boot 嵌入式容器中部署第三方 war

标签 spring-boot activiti

如果这感觉有点“死灵贴”,请原谅。我看了看,发现只有一个类似的问题在这里没有答案 ( Spring-Boot Embedded Wars )。

我将服务打包到 spring boot (1.0) 容器中。该服务使用 activiti (www.activiti.org) 来管理一些业务流程。我正在尝试在同一个 spring boot 容器中部署,这是 activiti-explorer 的 war 。这场 war 有自己的 web.inf、spring 配置等,因此它可能与现有的 spring 配置冲突,但尽管如此,我还是想尝试按原样部署这场 war 。

我还没有找到任何方法来做到这一点,并且怀疑 spring boot 不支持将预打包 war 部署到嵌入式容器中,是吗?

作为警告,我认为我不能将提取的 war 放入 spring-boot jar 中,因为我觉得它需要一个功能齐全的 web 容器。如果 spring-boot 不提供这个功能,没什么大不了的,我们将在它自己的 tomcat 上部署那个 war,但如果可以的话,它会很方便。

谢谢


更新 为了清楚起见,我有一个已经在运行的 Spring Application 独立服务器,它有自己的嵌入式 Tomcat。 在嵌入式 Tomcat 中,我插入了一些我开发的 @Controllers。 然后我还能够使用 ServletRegistrationBean(映射到/servlet-path)映射第三方 servlet。

现在我想做一些与另一场 war 类似的事情,它包含一个完整的网络应用程序(它是一个 vaadin/spring 3.2 应用程序,有自己的库、jsps、静态资源......)并想将它映射到(比如)/ war 路径。

我想将 war 放在一个众所周知的位置,并使用(比如)WarRegistrationBean 将其部署到 tomcar 中,这将使 Tomcat 处理所有类加载障碍(正如我提到的,war 在我正在使用 spring 3.2 时使用 4.0 和 spring boot,...)。 我怀疑 spring-boot 不支持最后一个功能,或者 - 可能 - 甚至超出项目本身的范围。

最佳答案

您可以通过添加引导插件所做的事情(来自加载程序的类和一些 META-INF 信息)来手动增强 war 存档。最简单的方法是简单地增强一场“空” war ,然后将其与目标 war 合并(通过将它们都引爆并重新震荡)。您唯一需要添加的可能是主类。

在引导工具中仍然存在差距。如果您认为它需要填写,请提出问题和/或发送一些代码。

关于spring-boot - 在 Spring Boot 嵌入式容器中部署第三方 war ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24634166/

相关文章:

java - 使用 Java API 时没有 Activity 事件

java - 为什么我们需要 ACT_RU_IDENTITYLINK?该表的用途是什么?为什么 ACTIVITI 创建它?

java - Spring Boot 元空间内存泄漏

java - spring.main.allow-bean-definition-overriding=true 是一种不好的做法吗

java - Spring 数据 : Create entities (and DB entries) using boolean fields of another entity

eclipse - 如何在eclipse Juno内安装activiti "Create deployment artifacts "选项

grails - 在Grails上使用插件Activiti启动VacationRequestSampleApplication时出错

java - 通过 Activiti 的问题跟踪器

spring - 将 spring boot war 部署到 tomcat 中

java - 在 RestController 方法中获取 ServerWebExchange