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