Mule API 工具包在 3.6.1 CE 服务器上不可用?
Mule API Kit not available on 3.6.1 CE server?
我有一个 Mule 项目,它通过 Mule Apikit 使用 REST API。
当我 运行 作为来自 eclipse 的 'Mule Application' 项目时,没有任何问题。
当我 运行 项目作为 'Mule Application with Maven' 应用程序构建时,但是在 mule 服务器启动时,我看到与解析 apikit 模式和我的流中的后续命名空间相关的错误。 (当我将应用程序加载到独立的 Mule 服务器时,我看到了同样的事情。
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.mulesoft.org/schema/mule/apikit/current/mule-apikit.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
我的 .pom 文件中有两个与 apikit 相关的条目。
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-apikit</artifactId>
<version>1.6.1</version>
</dependency>
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-app-maven-plugin</artifactId>
<version>${mule.tools.version}</version>
<extensions>true</extensions>
<configuration>
<copyToAppsDirectory>true</copyToAppsDirectory>
<inclusions>
<inclusion>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-apikit</artifactId>
</inclusion>
</inclusions>
</configuration>
</plugin>
这个插件似乎是罪魁祸首:
<plugin>
<groupId>org.mule.tools</groupId>
<artifactId>maven-mule-plugin</artifactId>
<version>1.9</version>
<extensions>true</extensions>
</plugin>
当它存在时,不会填充生成的 zip 中的 lib 目录,当它被删除时,apikit(和其他库)存在。
然而,这有副作用,这个插件似乎允许识别 /app/ 目录(我的项目正在使用)的子文件夹中的流 xml 文件。此外 adding/removing 依赖似乎影响了 eclipse 项目(我看到它删除了我所有的 src 文件夹并用一个 /src/ 替换它们)。
默认情况下,Mule Maven 插件排除所有 Mule 依赖项,无论它们的范围如何。
您需要强制包含 APIkit 依赖项:
<configuration>
<inclusions>
<inclusion>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-apikit</artifactId>
</inclusion>
</inclusions>
</configuration>
参考:https://github.com/mulesoft/maven-mule-plugin/tree/maven-mule-plugin-1.9#managing-dependencies
我有一个 Mule 项目,它通过 Mule Apikit 使用 REST API。 当我 运行 作为来自 eclipse 的 'Mule Application' 项目时,没有任何问题。
当我 运行 项目作为 'Mule Application with Maven' 应用程序构建时,但是在 mule 服务器启动时,我看到与解析 apikit 模式和我的流中的后续命名空间相关的错误。 (当我将应用程序加载到独立的 Mule 服务器时,我看到了同样的事情。
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.mulesoft.org/schema/mule/apikit/current/mule-apikit.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
我的 .pom 文件中有两个与 apikit 相关的条目。
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-apikit</artifactId>
<version>1.6.1</version>
</dependency>
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-app-maven-plugin</artifactId>
<version>${mule.tools.version}</version>
<extensions>true</extensions>
<configuration>
<copyToAppsDirectory>true</copyToAppsDirectory>
<inclusions>
<inclusion>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-apikit</artifactId>
</inclusion>
</inclusions>
</configuration>
</plugin>
这个插件似乎是罪魁祸首:
<plugin>
<groupId>org.mule.tools</groupId>
<artifactId>maven-mule-plugin</artifactId>
<version>1.9</version>
<extensions>true</extensions>
</plugin>
当它存在时,不会填充生成的 zip 中的 lib 目录,当它被删除时,apikit(和其他库)存在。
然而,这有副作用,这个插件似乎允许识别 /app/ 目录(我的项目正在使用)的子文件夹中的流 xml 文件。此外 adding/removing 依赖似乎影响了 eclipse 项目(我看到它删除了我所有的 src 文件夹并用一个 /src/ 替换它们)。
默认情况下,Mule Maven 插件排除所有 Mule 依赖项,无论它们的范围如何。
您需要强制包含 APIkit 依赖项:
<configuration>
<inclusions>
<inclusion>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-apikit</artifactId>
</inclusion>
</inclusions>
</configuration>
参考:https://github.com/mulesoft/maven-mule-plugin/tree/maven-mule-plugin-1.9#managing-dependencies