Skip to content

Commit 214f3cc

Browse files
committed
[Bug #63] Support Spring Boot 3.2.x JAR structure.
1 parent 3492a6b commit 214f3cc

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/main/java/cz/cvut/kbss/jsonld/deserialization/util/ClasspathScanner.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ public ClasspathScanner(Consumer<Class<?>> listener) {
5858
* This parameter is optional, but it is highly recommended to specify it, as it can speed up the process
5959
* dramatically.
6060
* <p>
61-
* Inspired by https://github.com/ddopson/java-class-enumerator
61+
* Inspired by <a
62+
* href="https://github.com/ddopson/java-class-enumerator">https://github.com/ddopson/java-class-enumerator</a>
6263
*
6364
* @param scanPath Package narrowing down the scan space. Optional
6465
*/
@@ -81,7 +82,9 @@ public void processClasses(String scanPath) {
8182
Enumeration<URL> resources = loader.getResources(".");
8283
while (resources.hasMoreElements()) {
8384
URL resourceURL = resources.nextElement();
84-
if (isJar(resourceURL.toString())) {processJarFile(resourceURL, scanPath);}
85+
if (isJar(resourceURL.toString())) {
86+
processJarFile(resourceURL, scanPath);
87+
}
8588
}
8689
} catch (IOException e) {
8790
throw new JsonLdException("Unable to scan packages.", e);
@@ -103,8 +106,9 @@ private static URI getUrlAsUri(URL url) {
103106

104107
protected void processJarFile(URL jarResource, String packageName) {
105108
final String relPath = packageName.replace('.', '/');
106-
final String jarPath = jarResource.getPath().replaceFirst("[.]jar[!].*", JAR_FILE_SUFFIX)
107-
.replaceFirst("file:", "");
109+
final String jarPath = jarResource.getPath().replaceFirst("[.]jar/?!.*", JAR_FILE_SUFFIX)
110+
.replaceFirst("file:", "")
111+
.replaceFirst("nested:", "");
108112

109113
LOG.trace("Scanning jar file {} for classes.", jarPath);
110114
try (final JarFile jarFile = new JarFile(jarPath)) {

0 commit comments

Comments
 (0)