gpt4 book ai didi

Mule Groovy 脚本文件位置在 Studio 中有效,但不能独立使用

转载 作者:行者123 更新时间:2023-12-05 01:20:14 28 4
gpt4 key购买 nike

我有一个 groovy 脚本转换器,它位于存储在 src\main\resources 下的文件中。
<scripting:transformer doc:name="myXform"><br/>
<scripting:script engine="Groovy"
file="src\main\resources\myTransform.groovy"><br/>
</scripting:script><br/>
</scripting:transformer>

我的项目在 Mule Studio 中按预期工作。当我将它部署到独立的 Mule 服务器时,它无法部署,因为它找不到相关文件位置。
无法从类路径或文件系统加载“src\main\resources\myTransform.groovy”

我有几个问题:
- 这是保存我的 groovy 转换的适当位置吗?
- 我该如何解决这个问题,因为在部署版本中,src\main\resources 存在于 META-INF 下?
- 如果它是类路径设置,那么我应该更改什么来修复它(.classpath、独立服务器上的系统变量等)?

谢谢。

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
好的,我重新安装了 Mule Studio(版本:3.5.0 Build Id:201312091746)并从头开始(使用 Maven)构建了一个 vanilla 项目:
`

<mule xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting" xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd">
<flow name="gpFlow1" doc:name="gpFlow1">
<file:inbound-endpoint path="H:\DCH_ESB_Test\InMuleTest" responseTimeout="10000" doc:name="FileIn"/>
<byte-array-to-string-transformer doc:name="Byte Array to String"/>
<scripting:transformer doc:name="Groovy">
<scripting:script engine="Groovy" file="myTransform.groovy"/>
</scripting:transformer>
<file:outbound-endpoint path="H:\DCH_ESB_Test\OutMuleTest" responseTimeout="10000" doc:name="FileOut"/>
</flow>
</mule>`

myTransform.groovy 只包含 return payload.toUpperCase()
我看到的第一件事是 Studio 不喜欢非路径文件,并在脚本转换器上标记错误:“路径不存在”。
但是,当我在 Studio 中运行该项目时,它可以正常工作。
部署后我仍然得到:
`++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 新应用 'gp' +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO 2014-02-13 10:05:47,282 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.MuleApplicationClassLoader: [gp] 加载以下 jars:
=============================
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/asm-3.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/cloveretl-engine-3.4.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/commons-logging-1.1.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/ftplet-api-1.0.2.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/ftpserver-core-1.0.2.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/jaxb-impl-2.1.5.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/jaxb-xjc-2.2.5.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/jcl-over-slf4j-1.6.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/jsch-0.1.42.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/mina-core-2.0.0-M6.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/mockito-all-1.9.0.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/mockobjects-core-0.09.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/mule-core-ee-3.4.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/mule-module-boot-ee-3.4.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/slf4j-api-1.6.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/slf4j-log4j12-1.6.1.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/spring-tx-3.0.6.RELEASE.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/spring-web-3.0.6.RELEASE.jar
文件:/C:/mule-enterprise-standalone-3.3.0/apps/gp/lib/sshd-core-0.6.0.jar
=============================

ERROR 2014-02-13 10:05:49,294 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.DeploymentService: Failed to deploy application archive: gp.zip  
org.mule.module.launcher.DeploymentInitException: InitialisationException: Failed to load "myTransform.groovy" from classpath or file system
at org.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:220)
at org.mule.module.launcher.application.ApplicationWrapper.init(ApplicationWrapper.java:64)
at org.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:46)
at org.mule.module.launcher.DeploymentService.guardedDeploy(DeploymentService.java:398)
at org.mule.module.launcher.DeploymentService.deploy(DeploymentService.java:365) `

我在 Studio 中的 .classpath 文件如下所示:
<classpath><br/>
<classpathentry kind="src" path="src/main/app" excluding="**/*.java"/><br/>
<classpathentry kind="src" path="src/main/java"/><br/>
<classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/><br/>
<classpathentry kind="src" path="src/test/java" output="target/test-classes"/><br/>
<classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/><br/>
<classpathentry kind="output" path="target/classes"/><br/>
<classpathentry kind="con" path="MULE_RUNTIME"/><br/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/><br/>
<classpathentry kind="var" path="M2_REPO/asm/asm/3.1/asm-3.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/com/cloveretl/cloveretl-engine/3.4.1/cloveretl-engine-3.4.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/apache/ftpserver/ftplet-api/1.0.2/ftplet-api-1.0.2.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/apache/ftpserver/ftpserver-core/1.0.2/ftpserver-core-1.0.2.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-impl/2.1.5/jaxb-impl-2.1.5.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-xjc/2.2.5.1/jaxb-xjc-2.2.5.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/com/jcraft/jsch/0.1.42/jsch-0.1.42.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/apache/mina/mina-core/2.0.0-M6/mina-core-2.0.0-M6.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/mockito/mockito-all/1.9.0/mockito-all-1.9.0.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/mockobjects/mockobjects-core/0.09/mockobjects-core-0.09.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/com/mulesoft/muleesb/mule-core-ee/3.4.1/mule-core-ee-3.4.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/com/mulesoft/muleesb/modules/mule-module-boot-ee/3.4.1/mule-module-boot-ee-3.4.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/3.0.6.RELEASE/spring-tx-3.0.6.RELEASE.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-web/3.0.6.RELEASE/spring-web-3.0.6.RELEASE.jar"/><br/>
<classpathentry kind="var" path="M2_REPO/org/apache/sshd/sshd-core/0.6.0/sshd-core-0.6.0.jar"/><br/>
</classpath>

在导出的 zip 文件中,myTransform.groovy 位于:
gp.zip\META-INF\src\main\resources\
我没有重新安装我的独立。

谢谢,-- 唐

最佳答案

我遇到了类似的问题,我可以责怪 mule 示例,我试图使用在 mule studio 上部署好的解析模板,但是当我尝试独立时。该示例在/src/main/resources/responseXml.template 上的模板的 xml 中设置位置,这在 mule studio 上工作正常。然而,在独立的情况下,骡子找不到模板并且部署失败。我发现这是与 PROJECT'S STRUCTURE 相关的问题,而不是 mule 的问题(google io exception/src/main/resource)。似乎当一个生成的可部署文件资源文件被移动到项目的根目录时,位置应该只是 responseXml.template(或任何 resource.file)并且没有路径,这对我在工作室和独立的工作。刚刚在studio上用groovy测试成功,我创建了

/src/main/resources/example.groovy

在 xml 上:

<scripting:script engine="Groovy" file="example.groovy"/>

几个小时后,我将在独立平台上使用 groovy 对其进行测试......

关于Mule Groovy 脚本文件位置在 Studio 中有效,但不能独立使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21739869/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com