无法在Anypoint Studio中运行Mule项目; ResourceException

时间:2015-10-21 07:27:36

标签: mule mule-studio anypoint-studio

问题:

当我想从Anypoint Studio中运行项目时,我遇到了问题。该项目最初是在Eclipse Juno中使用Mule IDE插件设置的。

在Eclipse Juno中,我能够在本地安装Mule Server上运行mule-config.xml。

现在我升级到最新的Anypoint Studio(5.3.1;我有Eclipse Mars的独立和插件)。我成功地在Anypoint环境中导入项目并使用Maven构建它。

在(独立和插件)中,我无法运行项目。当我尝试运行“运行配置”时,我收到一个错误,它抱怨资源不可用。但是我不明白这个错误,因为它抱怨的资源/XmlProxyValidationFilter是我src/main/java项目中的自定义过滤器,它位于我的构建路径上(包括所有内容,没有排除)。

自定义过滤器的定义:

<custom-filter name="xmlValidatieRequestFilter" class="nl.xxx.icc.mule.XmlProxyValidationFilter">
    <spring:property name="xsdRepositoryBean" ref="iccXsdRepositoryBean" />
</custom-filter>

从流程中调用自定义过滤器:

<flow name="xmlproxy.validator">
    <!-- some other stuff -->
    <filter ref="xmlValidatieRequestFilter" />
</flow>

此流程验证正在xsdRepositoryBean中对应的XSD传递的XML消息。

我尝试了什么:

  1. 在运行配置中,我选择了Mule domains/projects中的项目(期望将其添加到类路径中),并将Mule Server 3.4.0 CE选择为Target Server Runtime(与成功的Maven-build相同的运行时) )。
  2. 在Run-configurations中尝试将缺少的资源添加到Classpath选项卡上的User Entries。
  3. 我找到了一个尝试this问题的建议,但我不知道怎么做,因为我在Eclipse中使用了Maven。因此我尝试将我的项目转换为Maven project(我认为这是Anypoint插件特有的功能),但这并没有解决问题。
  4. 试图找到可能的解决方案的类似问题,但只有上述内容接近。
  5. 问题:

    当我尝试运行流程时,为什么我收到有关缺少资源的错误的任何想法,而此资源位于我的项目文件夹中,我可以在没有Maven问题的情况下构建项目?

    错误日志:

    eclipse.buildId=4.5.1.M20150904-0015
    java.version=1.8.0_31
    java.vendor=Oracle Corporation
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
    Framework arguments:  -product org.eclipse.epp.package.jee.product
    Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product
    
    org.mule.tooling.core
    Error
    Wed Oct 21 08:00:33 CEST 2015
    Unable to package application ZIP file
    
    java.lang.reflect.InvocationTargetException
        at org.mule.tooling.core.packageManager.ExportPackageManager.export(ExportPackageManager.java:87)
        at org.mule.tooling.runtime.launch.DefaultDeploymentStrategy.packageZipFile(DefaultDeploymentStrategy.java:55)
        at org.mule.tooling.runtime.launch.DefaultDeploymentStrategy.deployToEmbeddedInstance(DefaultDeploymentStrategy.java:26)
        at org.mule.tooling.runtime.launch.MuleRuntimeLaunchDelegate.deployProjects(MuleRuntimeLaunchDelegate.java:486)
        at org.mule.tooling.runtime.launch.MuleRuntimeLaunchDelegate.performLegacyDeployment(MuleRuntimeLaunchDelegate.java:344)
        at org.mule.tooling.runtime.launch.MuleRuntimeLaunchDelegate.launch(MuleRuntimeLaunchDelegate.java:238)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
        at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)
        at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/XmlProxyValidationFilter' does not exist.
        at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:334)
        at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:208)
        at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:140)
        at org.eclipse.core.internal.resources.Project.hasNature(Project.java:521)
        at org.mule.tooling.core.deployer.MuleApplicationDeployment.copyArtifacts(MuleApplicationDeployment.java:621)
        at org.mule.tooling.core.deployer.MuleApplicationDeployment.copyReferencedProjectsArtifactsRecursively(MuleApplicationDeployment.java:615)
        at org.mule.tooling.core.deployer.MuleApplicationDeployment.copyReferencedProjectsArtifacts(MuleApplicationDeployment.java:608)
        at org.mule.tooling.core.packageManager.MuleApplicationExportDelegate.export(MuleApplicationExportDelegate.java:41)
        at org.mule.tooling.core.packageManager.ExportPackageManager.doExport(ExportPackageManager.java:93)
        at org.mule.tooling.core.packageManager.ExportPackageManager.export(ExportPackageManager.java:85)
        ... 10 more
    Root exception:
    org.eclipse.core.internal.resources.ResourceException: Resource '/XmlProxyValidationFilter' does not exist.
        at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:334)
        at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:208)
        at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:140)
        at org.eclipse.core.internal.resources.Project.hasNature(Project.java:521)
        at org.mule.tooling.core.deployer.MuleApplicationDeployment.copyArtifacts(MuleApplicationDeployment.java:621)
        at org.mule.tooling.core.deployer.MuleApplicationDeployment.copyReferencedProjectsArtifactsRecursively(MuleApplicationDeployment.java:615)
        at org.mule.tooling.core.deployer.MuleApplicationDeployment.copyReferencedProjectsArtifacts(MuleApplicationDeployment.java:608)
        at org.mule.tooling.core.packageManager.MuleApplicationExportDelegate.export(MuleApplicationExportDelegate.java:41)
        at org.mule.tooling.core.packageManager.ExportPackageManager.doExport(ExportPackageManager.java:93)
        at org.mule.tooling.core.packageManager.ExportPackageManager.export(ExportPackageManager.java:85)
        at org.mule.tooling.runtime.launch.DefaultDeploymentStrategy.packageZipFile(DefaultDeploymentStrategy.java:55)
        at org.mule.tooling.runtime.launch.DefaultDeploymentStrategy.deployToEmbeddedInstance(DefaultDeploymentStrategy.java:26)
        at org.mule.tooling.runtime.launch.MuleRuntimeLaunchDelegate.deployProjects(MuleRuntimeLaunchDelegate.java:486)
        at org.mule.tooling.runtime.launch.MuleRuntimeLaunchDelegate.performLegacyDeployment(MuleRuntimeLaunchDelegate.java:344)
        at org.mule.tooling.runtime.launch.MuleRuntimeLaunchDelegate.launch(MuleRuntimeLaunchDelegate.java:238)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
        at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
        at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)
        at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    

1 个答案:

答案 0 :(得分:0)

@Jeroen Akershoek ......我遇到过同样的问题。因此,请将您的资源放在src / main / resource目录中,并在过滤器jar中使用类路径加载器。