3

我有一个 mule 流,Project B它引用了Project A. 这些项目的结构如下。

Project A
   src/test/java-ComponentClass
   src/test/resources- propertyfile.properties
 Project B(Mule project)
   src/main/app(Flows)- testflow(flow with component referencing ComponentClass)
   src/main/resources - propertyfile.properties

testFlow以下列方式创建组件类 bean。

 <spring:beans>

        <spring:bean id="beanA"   class="com.packagename.ComponentClass"/>
    </spring:beans>

以下部分显示了如何ComponentClass访问属性文件。

propFilePath="src/test/resources/propertyfile.properties"
File propFile = new File(propFilePath);
if(!propFile.exists())// To handle mule flow as mule doesnt bundle src/test/resources
{
   propFilePath=this.getClass().getResource("/propertyfile.properties");
   // points to /usr/local/mule/mule-enterprise-standalone-3.6.0-M2/apps/ProjectB-1.0-SNAPSHOT/classes/propertyfile.properties -for standalone.- 1
  //propFilePath="propertyfile.properties". <--eclipse-mule plugin-2

}

//process the file from its path-- 

Project A已经以这样一种方式编译,它的测试类是可访问的。通过它的 pomProject B导入 test-jar 。Project A

现在,当我在构建项目后尝试通过系统上的 mule 独立运行流程时。该项目无法在 mule 上部署,抛出一个propertyfile缺少的嵌套异常,因此创建 beanComponentClass失败。但是,在检查 1-(在 zip 中)中的路径位置时,我发现该文件实际上存在于 classes 文件夹中。有什么想法发生了什么以及我该如何解决?

此外,当我将文件放在基本文件夹中ProjectB并提供行中的路径时 -2当我在 eclipse 中从 mule 运行时运行项目时似乎没有问题,但是当我尝试部署到独立时失败。

任何反馈或建议将不胜感激。

4

1 回答 1

0

无论如何,mule 利用分层类路径有意隔离应用程序以减少冲突。请阅读本文档以更好地理解它。

如果您拥有的是某种共享实用程序,为什么不创建一个创建 jar 的通用项目,然后让两个项目都依赖它呢?

于 2014-12-13T12:18:56.267 回答