我是一个在 Mule Studio 上运行良好的项目,我将其导出为 jar 文件,并希望使用命令提示符将其部署为 java 应用程序
java -jar newproject.jar
它抛出一个 ClassnotFound 异常,我注意到 jar 文件不包含所有 Mule 依赖项。我做错了什么?它有更好的方法来解决这个问题
我是一个在 Mule Studio 上运行良好的项目,我将其导出为 jar 文件,并希望使用命令提示符将其部署为 java 应用程序
java -jar newproject.jar
它抛出一个 ClassnotFound 异常,我注意到 jar 文件不包含所有 Mule 依赖项。我做错了什么?它有更好的方法来解决这个问题
你不能那样运行Mule。
看看文档: http: //www.mulesoft.org/documentation/display/33X/Running+Mule+ESB+3
使用 Maven 程序集插件生成一个带有依赖项的 JAR,其中包含您的应用程序和所有 Mule 的依赖项。
请参阅:http ://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies
请注意,如果您使用任何 EE 功能,则需要使用 EE Nexus 作为存储库。如果你使用 DataMapper,你也必须在你的类路径中携带一个许可证。
请记住,将 Mule 作为单个 JAR 运行会使您错过独立容器提供的所有功能,例如热应用程序重新加载(显然)、类加载器隔离......
感谢所有回复,但这就是我能够解决它的方式。我将其导出为可运行的 jar 文件并选择选项;将所需的库复制到生成的 JAR 旁边的子文件夹中。导出后,我从这里创建了一个 .bat 文件,我指定了我的 java 类路径的位置。双击 bat 文件启动程序。
请注意,我之前创建了一个带有 main 方法的类,该方法使用此链接中的过程启动应用程序
http://www.mulesoft.org/documentation/display/current/Embedding+Mule+in+a+Java+Application+or+Webapp