我有一个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>
答案 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 / /替换它们。