You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2026/06/22 09:28:42 UTC
(maven) branch bolder-medallion created (now f640018d1d)
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a change to branch bolder-medallion
in repository https://gitbox.apache.org/repos/asf/maven.git
at f640018d1d Fix NPE in DefaultLookup.lookupOptional() when container returns null
This branch includes the following new commits:
new f640018d1d Fix NPE in DefaultLookup.lookupOptional() when container returns null
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(maven) 01/01: Fix NPE in DefaultLookup.lookupOptional() when container returns null
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch bolder-medallion
in repository https://gitbox.apache.org/repos/asf/maven.git
commit f640018d1d9c66c1f8d084a93711e32782a3f3f4
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Jun 22 11:28:28 2026 +0200
Fix NPE in DefaultLookup.lookupOptional() when container returns null
PlexusContainer.lookup() can return null instead of throwing
ComponentLookupException. Using Optional.of(null) causes a
NullPointerException. Use Optional.ofNullable() instead so that
a null lookup result is correctly represented as Optional.empty().
This fixes maven-jdeprscan-plugin integration tests (list-default,
list-forremoval) which fail on Maven 4.0.x because
DefaultToolchainManager.retrieveContext() calls
lookupOptional(Project.class) and the container returns null.
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../src/main/java/org/apache/maven/internal/impl/DefaultLookup.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultLookup.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultLookup.java
index a5a0f82d94..f800e2e357 100644
--- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultLookup.java
+++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultLookup.java
@@ -64,7 +64,7 @@ public <T> T lookup(Class<T> type, String name) {
@Override
public <T> Optional<T> lookupOptional(Class<T> type) {
try {
- return Optional.of(container.lookup(type));
+ return Optional.ofNullable(container.lookup(type));
} catch (ComponentLookupException e) {
if (e.getCause() instanceof NoSuchElementException) {
return Optional.empty();
@@ -76,7 +76,7 @@ public <T> Optional<T> lookupOptional(Class<T> type) {
@Override
public <T> Optional<T> lookupOptional(Class<T> type, String name) {
try {
- return Optional.of(container.lookup(type, name));
+ return Optional.ofNullable(container.lookup(type, name));
} catch (ComponentLookupException e) {
if (e.getCause() instanceof NoSuchElementException) {
return Optional.empty();