誰かが私のコードで奇妙なことを見ますか? これは、パーサーのインスタンスを格納するパーサー ファクトリ クラスです。私はテキストファイルに保存された情報オブジェクトをデータベースに通常の形式で持っています
/table/something/something
nameoftablecolumn/info/info/...
etc.
このテキスト ファイルを解析するためのクラスがあり、パーサーはさまざまな行を解析できます。たとえば、行が /table/ で始まる場合、getParser("table") を呼び出すテーブル パーサーを選択します。ビューを解析したいとき、いくつか問題があります。Eclipseでデバッグして見つけようとしましたが、ソースが見つからず、デバッグ中のアクションのリストにクラスが見つからないという例外が表示されます..しかし、プログラムに例外はありません..
これは、F5 で ParserFactory のコンストラクターにジャンプしたときに発生します。
このクラスのコードがあります:
/**
*
*/
package appInspector.input.parser;
import java.util.HashMap;
import appInspector.input.parser.database.SourceParser;
import appInspector.input.parser.database.TableParser;
import appInspector.input.parser.database.ViewParser;
import appInspector.input.parser.filesystem.DirectoryParser;
import appInspector.input.parser.filesystem.FileParser;
/**
*
*/
public class ParserFactory {
private HashMap<String, IParser> parsers = new HashMap<String, IParser>();
private ParserFactory() {
//filesystem
parsers.put("directory", new DirectoryParser());
parsers.put("file", new FileParser());
//table
parsers.put("table", new TableParser());
//view
parsers.put("view", new ViewParser());
//source
parsers.put("source", new SourceParser());
}
public static ParserFactory newInstance(){
return new ParserFactory();
}
public IParser getParser(String key) {
IParser parser = parsers.get(key);
if(parser == null ){
System.out.println("Nepodporovaný objekt");
}
return parser;
}
}
編集: 私はそこのような同様の問題を抱えています(同様の出力-ソースが見つからないことを意味します)。 Eclipseのデバッグ「ソースが見つかりません」