Prior to this commit, if two ClassPathResource instances were constructed differently (one from an absolute path and one from a path relative to a Class) but had the same absolute path and the same ClassLoader, they were effectively equal, but ClassPathResource#equals returned false. This commit addresses this by revising the logic in ClassPathResource#equals accordingly. Closes gh-29263