0

かなり大きな webapp (Primefaces、Mojarra 2.1、Jetty を使用) を Sun JDK6 + Jetty 6 から Oracle JDK7 + Jetty 9 に切り替えることを検討しています。ほとんどの場合、これは簡単でしたが、Java 7 ではメソッド アクセスが異なるようです。

2つのメソッドを持つクラスを持つ場合

public Object getValue(int _index) {...}

public Object getValue(String _name) {...}

と使用

#{myBean.getValue(index)}

Java 6 では、 (パラメーターを使用して) 正しいメソッドを呼び出し、int正しい値を返します。ただし、Java 7 では、何も表示されずに失敗し、何も返されたり出力されたりしませんでした。メソッド名を変更し、JSF ファイルで適切な名前を使用すると、アクセスは期待どおりに機能します。

なぜこれは Java 7 でしか見られないのですか? また、古い動作を復元する方法はありますか?

4

1 に答える 1