私はEclipseで次の設定をしています:
プロジェクト A - Web サービスのコードとして使用される動的 Web プロジェクト。プロジェクト B - プロジェクト A をテストできるように、Main() を含むクラスを持つテスト クライアント。
プロジェクト A には、プロジェクト A が Web サービスとしてデプロイされたときに正常に機能するプロパティ ファイルが含まれています。しかし、テスト クライアント プロジェクト B からテストを実行すると、プロパティ ファイルが認識されません。プロジェクト A の 'src' フォルダーと同じレベルにある 'resources' というフォルダーを作成しました。このリソース フォルダーにはプロパティ ファイルが含まれています。プロジェクト B のビルド パスにはプロジェクト A があります。
プロジェクト B - クライアント=> Eclipe のクライアント プロジェクトのサンプル コードは次のとおりです。
public class Match {
public static void main(String[] args) {
MatchService service = new MatchService();
SearviceRequest request = new ServiceRequest();
request.setId(1);
System.out.println("Output -> " + service.process(request));
}
}
Web Project Under Test (Project A):
public class MatchService{
public ServiceResponse process(SearviceRequest request){
ServiceResponse resp = new ServiceResponse();
if (request != null){
ServiceProcessor processor = new ServiceProcessor();
resp = processor.findMatch(request.getID());
}
}
}
public class ServiceProcessor{
public ServiceResponse findMatch(ID id){
if (id != null){
// Read Properties File.
File file = new File("resources/My.properties") <---This fails when code is called from client. (Gives file no found exception. But File is present.
// Connect to database
// Get Data
// Build Response
// Send Response
}
}
}