WSO2 EI Class Mediator在Maven多模块下无法导出可部署归档
问题根因
WSO2 Integration Studio 8.0.0的「Export Project as Deployable Archive」可视化导出功能未适配Maven多模块下的子项目打包逻辑,无法识别继承了父POM配置的Mediator项目的bundle打包类型,因此抛出Can't find export handler for bundle报错。
可行解决方案
方案1:使用Maven命令行打包(最稳定,推荐)
多模块场景下无需依赖IDE可视化导出功能,直接用Maven命令执行打包即可:
- 在IDE的Terminal面板中定位到Mediator子项目的根路径,或进入本地文件系统对应子项目目录
- 执行打包命令:
mvn clean install - 打包生成的可部署Jar包会输出到子项目的
target目录下,可直接部署到WSO2 Micro Integrator的dropins目录使用
方案2:调整子项目POM配置适配IDE导出
如果需要使用IDE导出功能,可修改Mediator子项目的pom.xml确保打包配置不被父POM覆盖:
- 确认子项目
pom.xml中保留了WSO2自定义Mediator必需的打包配置,核心配置参考如下:
<packaging>bundle</packaging> <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>5.1.1</version> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> <Bundle-Name>${project.artifactId}</Bundle-Name> <Bundle-Version>${project.version}</Bundle-Version> <!-- 替换为你自己的Mediator类所在的包名 --> <Export-Package>com.example.mediator.*;version=${project.version}</Export-Package> <DynamicImport-Package>*</DynamicImport-Package> </instructions> </configuration> </plugin> </plugins> </build>
- 配置修改完成后,右键项目选择「Maven > Update Project」同步配置,再尝试导出即可
方案3:临时调整项目结构导出
如果仅需要临时导出一次,可直接将Mediator项目从多模块工作集中移除(仅移除工作集关联,不要删除本地文件),导出完成后再重新加入多模块结构即可。
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

