将 Mule 应用程序转换为可部署的 WAR
Posted
技术标签:
【中文标题】将 Mule 应用程序转换为可部署的 WAR【英文标题】:Mule application into a deployable WAR 【发布时间】:2013-01-27 16:02:49 【问题描述】:如何将 Mule 应用程序直接转换为 war 文件,以部署在 Jboss 应用程序服务器中,我尝试手动创建 war 文件但失败了,如提到的 here 并经历了 this,但仍然没有无法清楚地了解这部分。提供示例帮助。注意:我的示例 mule 应用程序中没有 Mule-config.xml 文件
【问题讨论】:
我对骡子很陌生,需要帮助才能走得更远。提前致谢 分享您尝试创建的应用程序遇到的错误。 您的 Maven 项目打包是否设置为“战争”? Mule 配置文件的名称是什么?同时分享您的web.xml
配置。
大家好,我无法创建作为我的主要问题的战争。@David Dossot,我的骡子项目中没有 web.xml 文件。如何从头开始创建战争请帮忙。我已经安装了maven插件,但是创建了一个项目为Mule项目,我是否也需要更改项目类型?
它并不是真正的“可转换”。您可能可以重用大部分逻辑,但您需要重新制作项目结构并再次测试它,因为事情有点不同
【参考方案1】:
这里有必要的步骤: http://www.mulesoft.org/documentation/display/current/Deploying+Mule+to+JBoss
【讨论】:
【参考方案2】: 在pom.xml
中,确保您有<packaging>war</packaging>
使用下面的模板创建src/main/webapp/WEB-INF/web.xml
,将YOUR_CONFIGS
替换为以逗号分隔的Mule 配置列表,并将YOUR_PATH
替换为Mule servlet 所需的路径,
用 Servlet 端点替换所有入站 HTTP 端点,例如 <servlet:inbound-endpoint path="/YOUR_ENDPOINT_PATH" />
你应该很高兴!
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<context-param>
<param-name>org.mule.config</param-name>
<param-value>YOUR_CONFIGS</param-value>
</context-param>
<listener>
<listener-class>org.mule.config.builders.MuleXmlBuilderContextListener</listener-class>
</listener>
<servlet>
<servlet-name>muleServlet</servlet-name>
<servlet-class>org.mule.transport.servlet.MuleReceiverServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>muleServlet</servlet-name>
<url-pattern>/YOUR_PATH/*</url-pattern>
</servlet-mapping>
</web-app>
编辑我已经开源了一个正在运行的演示:https://github.com/ddossot/mule-webapp-example
【讨论】:
感谢@David Dossot .. 请问我如何将 mule 项目(没有 maven)直接部署到 Mule 独立运行时。是否有像 Jboss 这样的 Deploy 文件夹,在此过程之前我需要以特定格式构建 Mule 项目,请协助.. 这是一个完全不同的问题,你在这里问,这不是很好的评论。您应该使用 Maven 将 Mule 应用程序(打包 = mule)打包到可部署的 ZIP 中,然后将其放入 MULE_HOME/apps(Mule 独立的部署文件夹)中。如果您坚持不使用 Maven,则必须构建遵循以下格式的 ZIP:mulesoft.org/documentation/display/current/Application+Format以上是关于将 Mule 应用程序转换为可部署的 WAR的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Jenkins 管道在本地部署 mule 4 应用程序
在 tomcat 或 jetty 中部署 mule 应用程序时,如何在 configuration.xml 文件中将 http 端点更改为 servlet 端点?
一个 Spring Boot 项目,部署到 JAR 或 WAR