依存関係としてさまざまなクラスとパッケージを含むプロジェクトがあります。以下に記述するすべてが 1 つのプロジェクトで発生することに注意してください。
ある時点でコードを実行するクラスがありますgetDiagramPanel().setRelationsPaintOrder(new Comparator() {。
getDiagramPanel()DjtSheet.classは、依存関係の .jar ファイルにあるからメソッドを呼び出します。このメソッドはDjtDiagramPanelオブジェクトを返します。DjtDiagramPanel.javaパッケージのファイルをオーバーライドし、 method を含むファイルもありますsetRelationsPaintOrder()。
Java 7 では、これは正常に機能します。依存関係からメソッドを正しく呼び出し、依存関係パッケージから panelclass をオーバーライドするクラスの形式でオブジェクトを返します。
ただし、Java 6 では、プロジェクトのパネルクラスではなく、依存関係パッケージのパネルクラスが返されます。
java.lang.NoSuchMethodError: com.dlsc.djt.gantt.DjtDiagramPanel.setRelationsPaintOrder(Ljava/util/Comparator;)V
このメッセージは実行時に発生することに注意してください。プロジェクトをコンパイルしてもエラーは発生しません。
どうすればこれを解決できますか?