After putting further thought into the semantics for getPath()
in ClassPathResource
, I realized the following.
- Several tests were previously misusing
getPath()
, and I rectified that in commit 1688becd73ab35eb2768c4af97356655b486ba26. - My updates to the Javadoc for
getPath()
make it clear that the semantics are very inconsistent. See current Javadoc. - If we switch
getPath()
to returnthis.absolutePath
, the entire test suite passes exceptClassPathResourceTests.preserveLeadingSlashForClassRelativeAccess()
. Yet, I would argue that's not a valid use case.
In light of the above, I'm wondering if we should:
- Switch
getPath()
to return the absolute path consistently without a leading slash. - Return the Javadoc for
getPath()
to its previous state (prior to #29094). - Remove the newly introduced
getAbsolutePath()
method (i.e., revert #29094).
Comment From: sbrannen
@jhoeller, I've assigned this one to both of us so that we can discuss it once you're back.