Spring Webflow テストをデバッグして、問題の最初の部分を突き止めました。 commons') の場合、resourceFactory.createFileResource(pathToFlowFile) を使用するだけでは機能しません。これは、id がファイル名であると想定しているためです。
ID をオーバーライドするために使用できるメソッドがあります。resourceFactory.createResource(pathToFlowFile, attributesMap, overrideId)
ただし、これはクラスローダーを使用してファイルを解決しますが、createFileResource は別の手段を使用したようです。
Classloader にフロー ファイルを認識させる方法がわかりません。クラスパスを調べたところ、JAR 依存関係のみがあり、ターゲット/クラスおよびターゲット/テスト クラス フォルダーが動的に作成されました。私のプロジェクトへの参照はありません。
これは Maven プロジェクトで、プロジェクト ルートからフローまでのパスは次のようになります。
src/main/webapp/WEB-INF/flows/<flow-folder>/<flow-filename>.xml
Webflow テストを見てきましたが、既に発見したことを繰り返すフロー モデルを見つけることができませんでしたが、何らかの理由で、他にはないように見えるクラスローダーに問題があります。
人々が正常にフロー ファイルを参照しているのを見ると、それらはプロジェクト ルートから相対的であるか、src/main/webapp の WebContext から相対的であると思われます。
Eclipse で実行構成を使用し、maven テストの目標を使用して JUnit テストを実行しています。
Eclipse で実行構成のカスタム クラスパスを構成して、pathToFlowFile として定義した相対パスの親フォルダーを含めることができます。
ただし、テスト目標を実行するときにまだクラスローダー/クラスパスの問題があるMavenでは、それはまったく役に立ちません。