0

問題:

Anypoint Studio 内からプロジェクトを実行しようとすると、問題が発生します。このプロジェクトは、当初、Mule IDE プラグインを使用して Eclipse Juno でセットアップされました。

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>

このフローは、通過する XML メッセージを、xsdRepositoryBean にある対応する XSD に対して検証します。

私が試したこと:

  1. 実行構成では、プロジェクトをMule domains/projects(クラスパスに追加されることを期待して) 選択し、Mule Server 3.4.0 CE をTarget Server Runtime(成功した Maven ビルドと同じランタイム) として選択しました。
  2. 実行構成で、不足しているリソースを [クラスパス] タブのユーザー エントリに追加しようとしました。
  3. この質問で試してみるべき提案を見つけましたが、Eclipse に統合された Maven を使用しているため、これを行う方法がわかりません。そのため、プロジェクトを に変換しようとしましたがMaven project(これは Anypoint プラグインに固有の機能だと思います)、問題は解決しません。
  4. 可能な解決策について同様の問題を見つけようとしましたが、上記のものだけが近づきました。

質問:

フローを実行しようとすると、欠落しているリソースに関するエラーが発生するのはなぜですか?このリソースはプロジェクトフォルダーにあり、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)
4

1 に答える 1

0

@Jeroen Akershoek ...同じ問題に直面しました。したがって、リソースを src/main/resource ディレクトリに配置し、フィルター jar でクラスパス ローダーを使用してください。

于 2016-04-03T11:07:42.933 に答える