Hi, it's a known problem with 5.6.2+ and JSONObject that came to light recently.
An updated version of tapestry-json improvements were introduced with 5.7.0, but got backported to 5.6.2. JSONObject is now a full-fledged Map<String, Object>, which lead to a signature change being introduced. It slipped through into the backport, resulting in the NoSuchMethodError for any dependency being compiled with < 5.6.2. Due to the generic-nature of Map and Java's type erasure, the old methods can't be retro-fitted in an update. The are the possible workarounds I can think of: - Update the dependency to a newer version using 5.6.2+. - Shade the dependency and make the changes yourself - Stay on 5.6.1 until the dependency is updated I'm in the process of updating the documentation/release notes, so it's clearer what the problem is. Ben On Tue, Apr 20, 2021 at 12:30 AM Wilson Velez <wilsonvelezvar...@gmail.com> wrote: > There is a weird behavior with the tags 5.6.2, 5.6.3. and 5.6.4, I don't > know if this is expected. > > I'm having a problem trying to upgrade from 5.6.1. When I change the > version to 5.6.2, 5.6.3. or 5.6.4 > the org.got5.tapestry5.jquery.utils.JQueryUtils#merge method throws the > exception: > > java.lang.NoSuchMethodError > > org.apache.tapestry5.json.JSONObject.get(Ljava/lang/String;)Ljava/lang/Object; > > and clearly the method with that signature doesn't exist anymore, that's > fine, I can understand that and probably I'm not going to be able to go > beyond this point in the upgrade. > > However when I go to to > > https://github.com/apache/tapestry-5/blob/5.6.4/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java > to see the new source code I see comments referencing the 5.7 version. > > Is that expected being in the 5.6.x? >