diff --git a/spring-core/src/main/java/org/springframework/aot/hint/ResourceHints.java b/spring-core/src/main/java/org/springframework/aot/hint/ResourceHints.java index fbca2547f0cc..e17bd9934a24 100644 --- a/spring-core/src/main/java/org/springframework/aot/hint/ResourceHints.java +++ b/spring-core/src/main/java/org/springframework/aot/hint/ResourceHints.java @@ -27,7 +27,6 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.lang.Nullable; -import org.springframework.util.Assert; /** * Gather the need for resources available at runtime. @@ -115,19 +114,19 @@ public ResourceHints registerPattern(String include) { /** * Register that the supplied resource should be made available at runtime. - *
If the supplied resource is not a {@link ClassPathResource}, it will - * not be registered. * @param resource the resource to register - * @throws IllegalArgumentException if the supplied class path resource does - * not {@linkplain Resource#exists() exist} + * @throws IllegalArgumentException if the supplied resource is not a + * {@link ClassPathResource} or does not {@linkplain Resource#exists() exist} * @see #registerPattern(String) * @see ClassPathResource#getAbsolutePath() */ public void registerResource(Resource resource) { - if (resource instanceof ClassPathResource classPathResource) { - Assert.isTrue(classPathResource.exists(), () -> "Resource does not exist: " + classPathResource); + if (resource instanceof ClassPathResource classPathResource && classPathResource.exists()) { registerPattern(classPathResource.getAbsolutePath()); } + else { + throw new IllegalArgumentException("Resource must be a ClassPathResource that exists: " + resource); + } } /** diff --git a/spring-core/src/test/java/org/springframework/aot/hint/ResourceHintsTests.java b/spring-core/src/test/java/org/springframework/aot/hint/ResourceHintsTests.java index 616d2997395a..7b9fe6feee04 100644 --- a/spring-core/src/test/java/org/springframework/aot/hint/ResourceHintsTests.java +++ b/spring-core/src/test/java/org/springframework/aot/hint/ResourceHintsTests.java @@ -117,8 +117,9 @@ void registerIfPresentIgnoreMissingLocation() { @Test void registerResourceWithUnsupportedResourceType() { DescriptiveResource resource = new DescriptiveResource("bogus"); - this.resourceHints.registerResource(resource); - assertThat(this.resourceHints.resourcePatterns()).isEmpty(); + assertThatIllegalArgumentException() + .isThrownBy(() -> this.resourceHints.registerResource(resource)) + .withMessage("Resource must be a ClassPathResource that exists: %s", resource); } @Test @@ -126,7 +127,7 @@ void registerResourceWithNonexistentClassPathResource() { ClassPathResource resource = new ClassPathResource("bogus", getClass()); assertThatIllegalArgumentException() .isThrownBy(() -> this.resourceHints.registerResource(resource)) - .withMessage("Resource does not exist: %s", resource); + .withMessage("Resource must be a ClassPathResource that exists: %s", resource); } @Test