[ https://issues.apache.org/jira/browse/CXF-9108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andriy Redko resolved CXF-9108. ------------------------------- Resolution: Won't Fix As we discussed on the pull request, this change has high risks of breaking things. The CXF deals with many containers (notably, OSGi / Apache Karaf / Apache Felix) that have own classloaders and are sensitive to resource naming. > Resource name passed to Classloader method should not have a leading slash > -------------------------------------------------------------------------- > > Key: CXF-9108 > URL: https://issues.apache.org/jira/browse/CXF-9108 > Project: CXF > Issue Type: Bug > Components: Core > Affects Versions: 3.5.9, 3.5.10 > Reporter: Amshika Hameed > Priority: Minor > > In the > [Version|https://github.com/apache/cxf/blob/3.5.x-fixes/core/src/main/java/org/apache/cxf/version/Version.java] > class in CXF Core, the ClassLoader's getResourceAsStream method is first > called using a resource name constructed using the > [VERSION_BASE|https://github.com/apache/cxf/blob/467e235a9ef4b5cdd39a4312686bfe7c23b0ac45/core/src/main/java/org/apache/cxf/version/Version.java#L32] > which has a leading slash. If that fails to find the resource, it strips the > leading slash and makes a second call. > However, as pointed out by *[markt-asf|https://github.com/markt-asf]* in > [this > comment|https://github.com/apache/tomcat/pull/816#issuecomment-2640347996], > the [Java documentation on using methods of the ClassLoader > class|https://docs.oracle.com/javase/8/docs/technotes/guides/lang/resources.html?utm_source=chatgpt.com#classloader] > states that resource names used when calling ClassLoader methods should not > have a leading slash. > {quote}The methods in ClassLoader use the given String as the name of the > resource without applying any absolute/relative transformation (see the > methods in Class). The name should not have a leading "/". > {quote} > Further, the [Java documentation on resource > names|https://docs.oracle.com/javase/8/docs/technotes/guides/lang/resources.html?utm_source=chatgpt.com#res_names] > also states, > {quote}Absolute names are stripped of their starting "/" and are passed, > without any further modification, to the appropriate {{ClassLoader}} method > to locate the resource. > {quote} > Therefore, ideally, the > [VERSION_BASE|https://github.com/apache/cxf/blob/467e235a9ef4b5cdd39a4312686bfe7c23b0ac45/core/src/main/java/org/apache/cxf/version/Version.java#L32] > should not have a leading slash and a single call to the ClassLoader's > getResourceAsStream method without the leading slash would suffice. > -- This message was sent by Atlassian Jira (v8.20.10#820010)