Mule API Kit在3.6.1 CE服务器上不可用?

时间:2015-07-02 14:18:34

标签: maven mule

我有一个Mule项目,它通过Mule Apikit使用REST API。 当我从eclipse运行项目作为“Mule应用程序”时,没有任何问题。

当我将项目作为“使用Maven的Mule应用程序”运行时,应用程序构建但是在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>

2 个答案:

答案 0 :(得分:2)

默认情况下,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

答案 1 :(得分:1)

这个插件似乎是罪魁祸首:

        <plugin>
            <groupId>org.mule.tools</groupId>
            <artifactId>maven-mule-plugin</artifactId>
            <version>1.9</version>
            <extensions>true</extensions>
        </plugin>   

当它出现时,不会填充生成的zip中的lib目录,当它被删除时,apikit(和其他库)就会出现。

然而,这有副作用,这个插件似乎允许识别/ app /目录(我的项目正在使用)的子文件夹中的流xml文件。另外添加/删除依赖似乎会对eclipse项目产生影响(我已经看到它删除了所有的src文件夹并用一个/ src / /替换它们。