我正在使用Anypont Studio 5.3.0和服务器运行时3.7.0。我想从我的组件调用main()方法。应用程序是使用Maven,SpringBoot和JPA开发的。它位于jar文件中,具有以下结构。
玉米
包
Application.class (with main method) another package Other classes
LIB
other jars
META-INF
persistance.xml
MANIFEST.MF
单位
springframework boot loader and other spring classes.
当文件到达我用mule polling组件检测到的文件模式时,我想调用具有主类和所有支持类的mule流中的Java组件。
谢谢, 大卫
答案 0 :(得分:0)
你是否对你的申请进行了整理?如果是,您可以将其作为依赖项添加到您的mule项目pom中,这也是mavenize。但是你需要确保在maven存储库中添加jar,即首先对你的java应用程序执行“mvn clean install”。否则,在构建路径中添加jar。当你能够做到这些时,你可以创建一个spring bean或者在mule中创建一个java组件,他们可以用main()方法调用你的类。
答案 1 :(得分:0)
我从未遇到过这种需要在企业应用程序中调用java类的main方法的生产场景。你确定你只有主要方法来访问其他类,它应该有初始化,弹簧注入方式等。简单回答你的问题,创建一个mule java组件并覆盖onCall方法来调用Application(class).main。我永远不会做这种事情[肯定会根据主要方法中的内容给出更多问题]。通常我们将在桌面应用程序中使用main方法调用。如果可能的话(或让应用程序团队继续工作)jar文件有更好的初始化选项