[ 
https://issues.apache.org/jira/browse/MTOOLCHAINS-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Greg Chabala updated MTOOLCHAINS-53:
------------------------------------
    Description: 
I should have tested sooner, been looking forward to MTOOLCHAINS-49 automatic 
JDK discovery for toolchains without toolchains.xml.

Testing the display-discovered-jdk-toolchains goal, no toolchains discovered, 
but there's a warning with a NPE:

{noformat}
$ mvn 
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------< org.chabala.example:example-blank >------------------
[INFO] Building example-blank 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- toolchains:3.2.0:display-discovered-jdk-toolchains (default-cli) @ 
example-blank ---
[INFO] Found 3 possible jdks: [/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64, 
/usr/lib/jvm/jdk1.5.0_22, /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64]
[WARNING] Error discovering toolchains (enable debug level for more 
information): java.lang.NullPointerException
[INFO] Discovered 0 JDK toolchains:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.382 s
[INFO] Finished at: 2024-04-21T22:41:22-05:00
[INFO] ------------------------------------------------------------------------
{noformat}

This is a nearly empty example project. Running with debug, some interesting 
stacktrace:


{noformat}
$ mvn -X 
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
Maven home: /usr/local/apache-maven/apache-maven-3.9.4
Java version: 1.8.0_292, vendor: AdoptOpenJDK, runtime: 
/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.19.0-46-generic", arch: "amd64", family: "unix"
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG]   Imported: javax.annotation.* < plexus.core
[DEBUG]   Imported: javax.annotation.security.* < plexus.core
[DEBUG]   Imported: javax.inject.* < plexus.core
[DEBUG]   Imported: org.apache.maven.* < plexus.core
[DEBUG]   Imported: org.apache.maven.artifact < plexus.core
[DEBUG]   Imported: org.apache.maven.classrealm < plexus.core
[DEBUG]   Imported: org.apache.maven.cli < plexus.core
[DEBUG]   Imported: org.apache.maven.configuration < plexus.core
[DEBUG]   Imported: org.apache.maven.exception < plexus.core
[DEBUG]   Imported: org.apache.maven.execution < plexus.core
[DEBUG]   Imported: org.apache.maven.execution.scope < plexus.core
[DEBUG]   Imported: org.apache.maven.graph < plexus.core
[DEBUG]   Imported: org.apache.maven.lifecycle < plexus.core
[DEBUG]   Imported: org.apache.maven.model < plexus.core
[DEBUG]   Imported: org.apache.maven.monitor < plexus.core
[DEBUG]   Imported: org.apache.maven.plugin < plexus.core
[DEBUG]   Imported: org.apache.maven.profiles < plexus.core
[DEBUG]   Imported: org.apache.maven.project < plexus.core
[DEBUG]   Imported: org.apache.maven.reporting < plexus.core
[DEBUG]   Imported: org.apache.maven.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.rtinfo < plexus.core
[DEBUG]   Imported: org.apache.maven.settings < plexus.core
[DEBUG]   Imported: org.apache.maven.toolchain < plexus.core
[DEBUG]   Imported: org.apache.maven.usability < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.* < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authentication < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authorization < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.events < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.observers < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.proxy < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.resource < plexus.core
[DEBUG]   Imported: org.codehaus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.* < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.component < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.configuration < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.container < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.context < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.lifecycle < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.logging < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.personality < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < 
plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < 
plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < 
plexus.core
[DEBUG]   Imported: org.eclipse.aether.* < plexus.core
[DEBUG]   Imported: org.eclipse.aether.artifact < plexus.core
[DEBUG]   Imported: org.eclipse.aether.collection < plexus.core
[DEBUG]   Imported: org.eclipse.aether.deployment < plexus.core
[DEBUG]   Imported: org.eclipse.aether.graph < plexus.core
[DEBUG]   Imported: org.eclipse.aether.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.installation < plexus.core
[DEBUG]   Imported: org.eclipse.aether.internal.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.metadata < plexus.core
[DEBUG]   Imported: org.eclipse.aether.repository < plexus.core
[DEBUG]   Imported: org.eclipse.aether.resolution < plexus.core
[DEBUG]   Imported: org.eclipse.aether.spi < plexus.core
[DEBUG]   Imported: org.eclipse.aether.transfer < plexus.core
[DEBUG]   Imported: org.eclipse.aether.util < plexus.core
[DEBUG]   Imported: org.eclipse.aether.version < plexus.core
[DEBUG]   Imported: org.fusesource.jansi.* < plexus.core
[DEBUG]   Imported: org.slf4j.* < plexus.core
[DEBUG]   Imported: org.slf4j.event.* < plexus.core
[DEBUG]   Imported: org.slf4j.helpers.* < plexus.core
[DEBUG]   Imported: org.slf4j.spi.* < plexus.core
[DEBUG] Populating class realm maven.api
[DEBUG] Created adapter factory; available factories [file-lock, rwlock-local, 
semaphore-local, noop]; available name mappers [discriminating, file-gav, 
file-hgav, file-static, gav, static]
[INFO] Error stacktraces are turned on.
[DEBUG] Message scheme: color
[DEBUG] Message styles: debug info warning error success failure strong mojo 
project
[DEBUG] Reading global settings from 
/usr/local/apache-maven/apache-maven-3.9.4/conf/settings.xml
[DEBUG] Reading user settings from /home/gchabala/.m2/settings.xml
[DEBUG] Reading global toolchains from 
/usr/local/apache-maven/apache-maven-3.9.4/conf/toolchains.xml
[DEBUG] Reading user toolchains from /home/gchabala/.m2/toolchains.xml
[DEBUG] Using local repository at /home/gchabala/.m2/repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for 
/home/gchabala/.m2/repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project 
org.chabala.example:example-blank:jar:1.0.0-SNAPSHOT: (none)
[DEBUG] Looking up lifecycle mappings for packaging jar from 
ClassRealm[plexus.core, parent: null]
[DEBUG] Creating adapter using nameMapper 'gav' and factory 'rwlock-local'
[DEBUG] === REACTOR BUILD PLAN ================================================
[DEBUG] Project: org.chabala.example:example-blank:jar:1.0.0-SNAPSHOT
[DEBUG] Tasks:   
[org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains]
[DEBUG] Style:   Aggregating
[DEBUG] =======================================================================
[INFO] 
[INFO] -----------------< org.chabala.example:example-blank >------------------
[INFO] Building example-blank 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, 
process-sources, generate-resources, process-resources, compile, 
process-classes, generate-test-sources, process-test-sources, 
generate-test-resources, process-test-resources, test-compile, 
process-test-classes, test, prepare-package, package, pre-integration-test, 
integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] === PROJECT BUILD PLAN ================================================
[DEBUG] Project:       org.chabala.example:example-blank:1.0.0-SNAPSHOT
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): []
[DEBUG] Repositories (dependencies): [central 
(https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] Repositories (plugins)     : [central 
(https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
 (default-cli)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <comparator 
default-value="lts,current,env,version,vendor">${toolchain.jdk.comparator}</comparator>
</configuration>
[DEBUG] =======================================================================
[INFO] 
[INFO] --- toolchains:3.2.0:display-discovered-jdk-toolchains (default-cli) @ 
example-blank ---
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=607546, 
ConflictMarker.markTime=420980, ConflictMarker.nodeCount=4, 
ConflictIdSorter.graphTime=438409, ConflictIdSorter.topsortTime=322845, 
ConflictIdSorter.conflictIdCount=4, ConflictIdSorter.conflictIdCycleCount=0, 
ConflictResolver.totalTime=3050735, ConflictResolver.conflictItemCount=4, 
DfDependencyCollector.collectTime=32679714, 
DfDependencyCollector.transformTime=6608861}
[DEBUG] org.apache.maven.plugins:maven-toolchains-plugin:jar:3.2.0
[DEBUG]    org.codehaus.plexus:plexus-xml:jar:3.0.0:compile
[DEBUG]    org.slf4j:slf4j-api:jar:1.7.36:compile
[DEBUG]    javax.inject:javax.inject:jar:1:compile
[DEBUG] Created new class realm 
plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
[DEBUG] Importing foreign packages into class realm 
plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm 
plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
[DEBUG]   Included: org.apache.maven.plugins:maven-toolchains-plugin:jar:3.2.0
[DEBUG]   Included: org.codehaus.plexus:plexus-xml:jar:3.0.0
[DEBUG] Loading mojo 
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
 from plugin realm 
ClassRealm[plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0, 
parent: sun.misc.Launcher$AppClassLoader@7852e922]
[DEBUG] Configuring mojo execution 
'org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains:default-cli'
 with basic configurator -->
[DEBUG]   (f) comparator = lts,current,env,version,vendor
[DEBUG] -- end configuration --
[INFO] Found 3 possible jdks: [/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64, 
/usr/lib/jvm/jdk1.5.0_22, /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64]
[DEBUG] JDK toolchain discovered at /usr/lib/jvm/jdk1.5.0_22 will be ignored: 
could not obtain java.version
[WARNING] Error discovering toolchains: java.lang.NullPointerException
java.lang.NullPointerException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance 
(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance 
(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance (Constructor.java:423)
    at java.util.concurrent.ForkJoinTask.getThrowableException 
(ForkJoinTask.java:598)
    at java.util.concurrent.ForkJoinTask.reportException (ForkJoinTask.java:677)
    at java.util.concurrent.ForkJoinTask.invoke (ForkJoinTask.java:735)
    at java.util.stream.Nodes.collect (Nodes.java:328)
    at java.util.stream.ReferencePipeline.evaluateToNode 
(ReferencePipeline.java:109)
    at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:541)
    at java.util.stream.SortedOps$OfRef.opEvaluateParallel (SortedOps.java:157)
    at java.util.stream.AbstractPipeline.opEvaluateParallelLazy 
(AbstractPipeline.java:705)
    at java.util.stream.AbstractPipeline.sourceSpliterator 
(AbstractPipeline.java:432)
    at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:233)
    at java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:566)
    at 
org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.discoverToolchains 
(ToolchainDiscoverer.java:162)
    at 
org.apache.maven.plugins.toolchain.jdk.DisplayDiscoveredJdkToolchainsMojo.execute
 (DisplayDiscoveredJdkToolchainsMojo.java:65)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 
(MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
(MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
(MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
(MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute 
(DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:73)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:348)
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putVal 
(ConcurrentHashMap.java:1011)
    at java.util.concurrent.ConcurrentHashMap.put (ConcurrentHashMap.java:1006)
    at 
org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.getToolchainModel 
(ToolchainDiscoverer.java:241)
    at 
org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.lambda$discoverToolchains$6
 (ToolchainDiscoverer.java:152)
    at java.util.stream.ReferencePipeline$3$1.accept 
(ReferencePipeline.java:193)
    at java.util.HashMap$KeySpliterator.forEachRemaining (HashMap.java:1556)
    at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:482)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto 
(AbstractPipeline.java:472)
    at java.util.stream.Nodes$CollectorTask.doLeaf (Nodes.java:2183)
    at java.util.stream.Nodes$CollectorTask.doLeaf (Nodes.java:2149)
    at java.util.stream.AbstractTask.compute (AbstractTask.java:327)
    at java.util.concurrent.CountedCompleter.exec (CountedCompleter.java:731)
    at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask 
(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run 
(ForkJoinWorkerThread.java:175)
[INFO] Discovered 0 JDK toolchains:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
{noformat}

So, trying to put a null jdk reference into a HashMap? 
https://github.com/apache/maven-toolchains-plugin/blob/c5edd013b6d7180c8f0712e02abc61b50993f44a/src/main/java/org/apache/maven/plugins/toolchain/jdk/ToolchainDiscoverer.java#L237-L241


  was:
I should have tested sooner, been looking forward to MTOOLCHAINS-49 automatic 
JDK discovery for toolchains without toolchains.xml.

Testing the display-discovered-jdk-toolchains goal, no toolchains discovered, 
but there's a warning with a NPE:

{noformat}
$ mvn 
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------< org.chabala.example:example-blank >------------------
[INFO] Building example-blank 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- toolchains:3.2.0:display-discovered-jdk-toolchains (default-cli) @ 
example-blank ---
[INFO] Found 3 possible jdks: [/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64, 
/usr/lib/jvm/jdk1.5.0_22, /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64]
[WARNING] Error discovering toolchains (enable debug level for more 
information): java.lang.NullPointerException
[INFO] Discovered 0 JDK toolchains:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.382 s
[INFO] Finished at: 2024-04-21T22:41:22-05:00
[INFO] ------------------------------------------------------------------------
{noformat}

This is an nearly empty example project. Running with debug, some interesting 
stacktrace:


{noformat}
$ mvn -X 
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
Maven home: /usr/local/apache-maven/apache-maven-3.9.4
Java version: 1.8.0_292, vendor: AdoptOpenJDK, runtime: 
/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.19.0-46-generic", arch: "amd64", family: "unix"
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG]   Imported: javax.annotation.* < plexus.core
[DEBUG]   Imported: javax.annotation.security.* < plexus.core
[DEBUG]   Imported: javax.inject.* < plexus.core
[DEBUG]   Imported: org.apache.maven.* < plexus.core
[DEBUG]   Imported: org.apache.maven.artifact < plexus.core
[DEBUG]   Imported: org.apache.maven.classrealm < plexus.core
[DEBUG]   Imported: org.apache.maven.cli < plexus.core
[DEBUG]   Imported: org.apache.maven.configuration < plexus.core
[DEBUG]   Imported: org.apache.maven.exception < plexus.core
[DEBUG]   Imported: org.apache.maven.execution < plexus.core
[DEBUG]   Imported: org.apache.maven.execution.scope < plexus.core
[DEBUG]   Imported: org.apache.maven.graph < plexus.core
[DEBUG]   Imported: org.apache.maven.lifecycle < plexus.core
[DEBUG]   Imported: org.apache.maven.model < plexus.core
[DEBUG]   Imported: org.apache.maven.monitor < plexus.core
[DEBUG]   Imported: org.apache.maven.plugin < plexus.core
[DEBUG]   Imported: org.apache.maven.profiles < plexus.core
[DEBUG]   Imported: org.apache.maven.project < plexus.core
[DEBUG]   Imported: org.apache.maven.reporting < plexus.core
[DEBUG]   Imported: org.apache.maven.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.rtinfo < plexus.core
[DEBUG]   Imported: org.apache.maven.settings < plexus.core
[DEBUG]   Imported: org.apache.maven.toolchain < plexus.core
[DEBUG]   Imported: org.apache.maven.usability < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.* < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authentication < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authorization < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.events < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.observers < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.proxy < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.resource < plexus.core
[DEBUG]   Imported: org.codehaus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.* < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.component < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.configuration < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.container < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.context < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.lifecycle < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.logging < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.personality < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < 
plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < 
plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < 
plexus.core
[DEBUG]   Imported: org.eclipse.aether.* < plexus.core
[DEBUG]   Imported: org.eclipse.aether.artifact < plexus.core
[DEBUG]   Imported: org.eclipse.aether.collection < plexus.core
[DEBUG]   Imported: org.eclipse.aether.deployment < plexus.core
[DEBUG]   Imported: org.eclipse.aether.graph < plexus.core
[DEBUG]   Imported: org.eclipse.aether.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.installation < plexus.core
[DEBUG]   Imported: org.eclipse.aether.internal.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.metadata < plexus.core
[DEBUG]   Imported: org.eclipse.aether.repository < plexus.core
[DEBUG]   Imported: org.eclipse.aether.resolution < plexus.core
[DEBUG]   Imported: org.eclipse.aether.spi < plexus.core
[DEBUG]   Imported: org.eclipse.aether.transfer < plexus.core
[DEBUG]   Imported: org.eclipse.aether.util < plexus.core
[DEBUG]   Imported: org.eclipse.aether.version < plexus.core
[DEBUG]   Imported: org.fusesource.jansi.* < plexus.core
[DEBUG]   Imported: org.slf4j.* < plexus.core
[DEBUG]   Imported: org.slf4j.event.* < plexus.core
[DEBUG]   Imported: org.slf4j.helpers.* < plexus.core
[DEBUG]   Imported: org.slf4j.spi.* < plexus.core
[DEBUG] Populating class realm maven.api
[DEBUG] Created adapter factory; available factories [file-lock, rwlock-local, 
semaphore-local, noop]; available name mappers [discriminating, file-gav, 
file-hgav, file-static, gav, static]
[INFO] Error stacktraces are turned on.
[DEBUG] Message scheme: color
[DEBUG] Message styles: debug info warning error success failure strong mojo 
project
[DEBUG] Reading global settings from 
/usr/local/apache-maven/apache-maven-3.9.4/conf/settings.xml
[DEBUG] Reading user settings from /home/gchabala/.m2/settings.xml
[DEBUG] Reading global toolchains from 
/usr/local/apache-maven/apache-maven-3.9.4/conf/toolchains.xml
[DEBUG] Reading user toolchains from /home/gchabala/.m2/toolchains.xml
[DEBUG] Using local repository at /home/gchabala/.m2/repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for 
/home/gchabala/.m2/repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project 
org.chabala.example:example-blank:jar:1.0.0-SNAPSHOT: (none)
[DEBUG] Looking up lifecycle mappings for packaging jar from 
ClassRealm[plexus.core, parent: null]
[DEBUG] Creating adapter using nameMapper 'gav' and factory 'rwlock-local'
[DEBUG] === REACTOR BUILD PLAN ================================================
[DEBUG] Project: org.chabala.example:example-blank:jar:1.0.0-SNAPSHOT
[DEBUG] Tasks:   
[org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains]
[DEBUG] Style:   Aggregating
[DEBUG] =======================================================================
[INFO] 
[INFO] -----------------< org.chabala.example:example-blank >------------------
[INFO] Building example-blank 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, 
process-sources, generate-resources, process-resources, compile, 
process-classes, generate-test-sources, process-test-sources, 
generate-test-resources, process-test-resources, test-compile, 
process-test-classes, test, prepare-package, package, pre-integration-test, 
integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] === PROJECT BUILD PLAN ================================================
[DEBUG] Project:       org.chabala.example:example-blank:1.0.0-SNAPSHOT
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): []
[DEBUG] Repositories (dependencies): [central 
(https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] Repositories (plugins)     : [central 
(https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
 (default-cli)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <comparator 
default-value="lts,current,env,version,vendor">${toolchain.jdk.comparator}</comparator>
</configuration>
[DEBUG] =======================================================================
[INFO] 
[INFO] --- toolchains:3.2.0:display-discovered-jdk-toolchains (default-cli) @ 
example-blank ---
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=607546, 
ConflictMarker.markTime=420980, ConflictMarker.nodeCount=4, 
ConflictIdSorter.graphTime=438409, ConflictIdSorter.topsortTime=322845, 
ConflictIdSorter.conflictIdCount=4, ConflictIdSorter.conflictIdCycleCount=0, 
ConflictResolver.totalTime=3050735, ConflictResolver.conflictItemCount=4, 
DfDependencyCollector.collectTime=32679714, 
DfDependencyCollector.transformTime=6608861}
[DEBUG] org.apache.maven.plugins:maven-toolchains-plugin:jar:3.2.0
[DEBUG]    org.codehaus.plexus:plexus-xml:jar:3.0.0:compile
[DEBUG]    org.slf4j:slf4j-api:jar:1.7.36:compile
[DEBUG]    javax.inject:javax.inject:jar:1:compile
[DEBUG] Created new class realm 
plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
[DEBUG] Importing foreign packages into class realm 
plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm 
plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
[DEBUG]   Included: org.apache.maven.plugins:maven-toolchains-plugin:jar:3.2.0
[DEBUG]   Included: org.codehaus.plexus:plexus-xml:jar:3.0.0
[DEBUG] Loading mojo 
org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
 from plugin realm 
ClassRealm[plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0, 
parent: sun.misc.Launcher$AppClassLoader@7852e922]
[DEBUG] Configuring mojo execution 
'org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains:default-cli'
 with basic configurator -->
[DEBUG]   (f) comparator = lts,current,env,version,vendor
[DEBUG] -- end configuration --
[INFO] Found 3 possible jdks: [/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64, 
/usr/lib/jvm/jdk1.5.0_22, /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64]
[DEBUG] JDK toolchain discovered at /usr/lib/jvm/jdk1.5.0_22 will be ignored: 
could not obtain java.version
[WARNING] Error discovering toolchains: java.lang.NullPointerException
java.lang.NullPointerException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance 
(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance 
(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance (Constructor.java:423)
    at java.util.concurrent.ForkJoinTask.getThrowableException 
(ForkJoinTask.java:598)
    at java.util.concurrent.ForkJoinTask.reportException (ForkJoinTask.java:677)
    at java.util.concurrent.ForkJoinTask.invoke (ForkJoinTask.java:735)
    at java.util.stream.Nodes.collect (Nodes.java:328)
    at java.util.stream.ReferencePipeline.evaluateToNode 
(ReferencePipeline.java:109)
    at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:541)
    at java.util.stream.SortedOps$OfRef.opEvaluateParallel (SortedOps.java:157)
    at java.util.stream.AbstractPipeline.opEvaluateParallelLazy 
(AbstractPipeline.java:705)
    at java.util.stream.AbstractPipeline.sourceSpliterator 
(AbstractPipeline.java:432)
    at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:233)
    at java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:566)
    at 
org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.discoverToolchains 
(ToolchainDiscoverer.java:162)
    at 
org.apache.maven.plugins.toolchain.jdk.DisplayDiscoveredJdkToolchainsMojo.execute
 (DisplayDiscoveredJdkToolchainsMojo.java:65)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 
(MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
(MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
(MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
(MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute 
(DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:73)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:348)
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putVal 
(ConcurrentHashMap.java:1011)
    at java.util.concurrent.ConcurrentHashMap.put (ConcurrentHashMap.java:1006)
    at 
org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.getToolchainModel 
(ToolchainDiscoverer.java:241)
    at 
org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.lambda$discoverToolchains$6
 (ToolchainDiscoverer.java:152)
    at java.util.stream.ReferencePipeline$3$1.accept 
(ReferencePipeline.java:193)
    at java.util.HashMap$KeySpliterator.forEachRemaining (HashMap.java:1556)
    at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:482)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto 
(AbstractPipeline.java:472)
    at java.util.stream.Nodes$CollectorTask.doLeaf (Nodes.java:2183)
    at java.util.stream.Nodes$CollectorTask.doLeaf (Nodes.java:2149)
    at java.util.stream.AbstractTask.compute (AbstractTask.java:327)
    at java.util.concurrent.CountedCompleter.exec (CountedCompleter.java:731)
    at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask 
(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run 
(ForkJoinWorkerThread.java:175)
[INFO] Discovered 0 JDK toolchains:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
{noformat}

So, trying to put a null jdk reference into a HashMap? 
https://github.com/apache/maven-toolchains-plugin/blob/c5edd013b6d7180c8f0712e02abc61b50993f44a/src/main/java/org/apache/maven/plugins/toolchain/jdk/ToolchainDiscoverer.java#L237-L241



> NPE during display-discovered-jdk-toolchains goal
> -------------------------------------------------
>
>                 Key: MTOOLCHAINS-53
>                 URL: https://issues.apache.org/jira/browse/MTOOLCHAINS-53
>             Project: Maven Toolchains Plugin
>          Issue Type: Bug
>    Affects Versions: 3.2.0
>         Environment: Xubuntu 22.10 amd64
> 5.19.0-46-generic 
> Apache Maven 3.9.4
>            Reporter: Greg Chabala
>            Priority: Major
>
> I should have tested sooner, been looking forward to MTOOLCHAINS-49 automatic 
> JDK discovery for toolchains without toolchains.xml.
> Testing the display-discovered-jdk-toolchains goal, no toolchains discovered, 
> but there's a warning with a NPE:
> {noformat}
> $ mvn 
> org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
> [INFO] Scanning for projects...
> [INFO] 
> [INFO] -----------------< org.chabala.example:example-blank 
> >------------------
> [INFO] Building example-blank 1.0.0-SNAPSHOT
> [INFO]   from pom.xml
> [INFO] --------------------------------[ jar 
> ]---------------------------------
> [INFO] 
> [INFO] --- toolchains:3.2.0:display-discovered-jdk-toolchains (default-cli) @ 
> example-blank ---
> [INFO] Found 3 possible jdks: [/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64, 
> /usr/lib/jvm/jdk1.5.0_22, /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64]
> [WARNING] Error discovering toolchains (enable debug level for more 
> information): java.lang.NullPointerException
> [INFO] Discovered 0 JDK toolchains:
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time:  0.382 s
> [INFO] Finished at: 2024-04-21T22:41:22-05:00
> [INFO] 
> ------------------------------------------------------------------------
> {noformat}
> This is a nearly empty example project. Running with debug, some interesting 
> stacktrace:
> {noformat}
> $ mvn -X 
> org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
> Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
> Maven home: /usr/local/apache-maven/apache-maven-3.9.4
> Java version: 1.8.0_292, vendor: AdoptOpenJDK, runtime: 
> /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "5.19.0-46-generic", arch: "amd64", family: "unix"
> [DEBUG] Created new class realm maven.api
> [DEBUG] Importing foreign packages into class realm maven.api
> [DEBUG]   Imported: javax.annotation.* < plexus.core
> [DEBUG]   Imported: javax.annotation.security.* < plexus.core
> [DEBUG]   Imported: javax.inject.* < plexus.core
> [DEBUG]   Imported: org.apache.maven.* < plexus.core
> [DEBUG]   Imported: org.apache.maven.artifact < plexus.core
> [DEBUG]   Imported: org.apache.maven.classrealm < plexus.core
> [DEBUG]   Imported: org.apache.maven.cli < plexus.core
> [DEBUG]   Imported: org.apache.maven.configuration < plexus.core
> [DEBUG]   Imported: org.apache.maven.exception < plexus.core
> [DEBUG]   Imported: org.apache.maven.execution < plexus.core
> [DEBUG]   Imported: org.apache.maven.execution.scope < plexus.core
> [DEBUG]   Imported: org.apache.maven.graph < plexus.core
> [DEBUG]   Imported: org.apache.maven.lifecycle < plexus.core
> [DEBUG]   Imported: org.apache.maven.model < plexus.core
> [DEBUG]   Imported: org.apache.maven.monitor < plexus.core
> [DEBUG]   Imported: org.apache.maven.plugin < plexus.core
> [DEBUG]   Imported: org.apache.maven.profiles < plexus.core
> [DEBUG]   Imported: org.apache.maven.project < plexus.core
> [DEBUG]   Imported: org.apache.maven.reporting < plexus.core
> [DEBUG]   Imported: org.apache.maven.repository < plexus.core
> [DEBUG]   Imported: org.apache.maven.rtinfo < plexus.core
> [DEBUG]   Imported: org.apache.maven.settings < plexus.core
> [DEBUG]   Imported: org.apache.maven.toolchain < plexus.core
> [DEBUG]   Imported: org.apache.maven.usability < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.* < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.authentication < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.authorization < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.events < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.observers < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.proxy < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.repository < plexus.core
> [DEBUG]   Imported: org.apache.maven.wagon.resource < plexus.core
> [DEBUG]   Imported: org.codehaus.classworlds < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.* < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.classworlds < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.component < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.configuration < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.container < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.context < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.lifecycle < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.logging < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.personality < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < 
> plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException 
> < plexus.core
> [DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < 
> plexus.core
> [DEBUG]   Imported: org.eclipse.aether.* < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.artifact < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.collection < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.deployment < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.graph < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.impl < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.installation < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.internal.impl < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.metadata < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.repository < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.resolution < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.spi < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.transfer < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.util < plexus.core
> [DEBUG]   Imported: org.eclipse.aether.version < plexus.core
> [DEBUG]   Imported: org.fusesource.jansi.* < plexus.core
> [DEBUG]   Imported: org.slf4j.* < plexus.core
> [DEBUG]   Imported: org.slf4j.event.* < plexus.core
> [DEBUG]   Imported: org.slf4j.helpers.* < plexus.core
> [DEBUG]   Imported: org.slf4j.spi.* < plexus.core
> [DEBUG] Populating class realm maven.api
> [DEBUG] Created adapter factory; available factories [file-lock, 
> rwlock-local, semaphore-local, noop]; available name mappers [discriminating, 
> file-gav, file-hgav, file-static, gav, static]
> [INFO] Error stacktraces are turned on.
> [DEBUG] Message scheme: color
> [DEBUG] Message styles: debug info warning error success failure strong mojo 
> project
> [DEBUG] Reading global settings from 
> /usr/local/apache-maven/apache-maven-3.9.4/conf/settings.xml
> [DEBUG] Reading user settings from /home/gchabala/.m2/settings.xml
> [DEBUG] Reading global toolchains from 
> /usr/local/apache-maven/apache-maven-3.9.4/conf/toolchains.xml
> [DEBUG] Reading user toolchains from /home/gchabala/.m2/toolchains.xml
> [DEBUG] Using local repository at /home/gchabala/.m2/repository
> [DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for 
> /home/gchabala/.m2/repository
> [INFO] Scanning for projects...
> [DEBUG] Extension realms for project 
> org.chabala.example:example-blank:jar:1.0.0-SNAPSHOT: (none)
> [DEBUG] Looking up lifecycle mappings for packaging jar from 
> ClassRealm[plexus.core, parent: null]
> [DEBUG] Creating adapter using nameMapper 'gav' and factory 'rwlock-local'
> [DEBUG] === REACTOR BUILD PLAN 
> ================================================
> [DEBUG] Project: org.chabala.example:example-blank:jar:1.0.0-SNAPSHOT
> [DEBUG] Tasks:   
> [org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains]
> [DEBUG] Style:   Aggregating
> [DEBUG] 
> =======================================================================
> [INFO] 
> [INFO] -----------------< org.chabala.example:example-blank 
> >------------------
> [INFO] Building example-blank 1.0.0-SNAPSHOT
> [INFO]   from pom.xml
> [INFO] --------------------------------[ jar 
> ]---------------------------------
> [DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
> [DEBUG] Lifecycle default -> [validate, initialize, generate-sources, 
> process-sources, generate-resources, process-resources, compile, 
> process-classes, generate-test-sources, process-test-sources, 
> generate-test-resources, process-test-resources, test-compile, 
> process-test-classes, test, prepare-package, package, pre-integration-test, 
> integration-test, post-integration-test, verify, install, deploy]
> [DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
> [DEBUG] === PROJECT BUILD PLAN 
> ================================================
> [DEBUG] Project:       org.chabala.example:example-blank:1.0.0-SNAPSHOT
> [DEBUG] Dependencies (collect): []
> [DEBUG] Dependencies (resolve): []
> [DEBUG] Repositories (dependencies): [central 
> (https://repo.maven.apache.org/maven2, default, releases)]
> [DEBUG] Repositories (plugins)     : [central 
> (https://repo.maven.apache.org/maven2, default, releases)]
> [DEBUG] 
> -----------------------------------------------------------------------
> [DEBUG] Goal:          
> org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
>  (default-cli)
> [DEBUG] Style:         Regular
> [DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
> <configuration>
>   <comparator 
> default-value="lts,current,env,version,vendor">${toolchain.jdk.comparator}</comparator>
> </configuration>
> [DEBUG] 
> =======================================================================
> [INFO] 
> [INFO] --- toolchains:3.2.0:display-discovered-jdk-toolchains (default-cli) @ 
> example-blank ---
> [DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=607546, 
> ConflictMarker.markTime=420980, ConflictMarker.nodeCount=4, 
> ConflictIdSorter.graphTime=438409, ConflictIdSorter.topsortTime=322845, 
> ConflictIdSorter.conflictIdCount=4, ConflictIdSorter.conflictIdCycleCount=0, 
> ConflictResolver.totalTime=3050735, ConflictResolver.conflictItemCount=4, 
> DfDependencyCollector.collectTime=32679714, 
> DfDependencyCollector.transformTime=6608861}
> [DEBUG] org.apache.maven.plugins:maven-toolchains-plugin:jar:3.2.0
> [DEBUG]    org.codehaus.plexus:plexus-xml:jar:3.0.0:compile
> [DEBUG]    org.slf4j:slf4j-api:jar:1.7.36:compile
> [DEBUG]    javax.inject:javax.inject:jar:1:compile
> [DEBUG] Created new class realm 
> plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
> [DEBUG] Importing foreign packages into class realm 
> plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
> [DEBUG]   Imported:  < maven.api
> [DEBUG] Populating class realm 
> plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0
> [DEBUG]   Included: org.apache.maven.plugins:maven-toolchains-plugin:jar:3.2.0
> [DEBUG]   Included: org.codehaus.plexus:plexus-xml:jar:3.0.0
> [DEBUG] Loading mojo 
> org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains
>  from plugin realm 
> ClassRealm[plugin>org.apache.maven.plugins:maven-toolchains-plugin:3.2.0, 
> parent: sun.misc.Launcher$AppClassLoader@7852e922]
> [DEBUG] Configuring mojo execution 
> 'org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains:default-cli'
>  with basic configurator -->
> [DEBUG]   (f) comparator = lts,current,env,version,vendor
> [DEBUG] -- end configuration --
> [INFO] Found 3 possible jdks: [/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64, 
> /usr/lib/jvm/jdk1.5.0_22, /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64]
> [DEBUG] JDK toolchain discovered at /usr/lib/jvm/jdk1.5.0_22 will be ignored: 
> could not obtain java.version
> [WARNING] Error discovering toolchains: java.lang.NullPointerException
> java.lang.NullPointerException
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance 
> (NativeConstructorAccessorImpl.java:62)
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance 
> (DelegatingConstructorAccessorImpl.java:45)
>     at java.lang.reflect.Constructor.newInstance (Constructor.java:423)
>     at java.util.concurrent.ForkJoinTask.getThrowableException 
> (ForkJoinTask.java:598)
>     at java.util.concurrent.ForkJoinTask.reportException 
> (ForkJoinTask.java:677)
>     at java.util.concurrent.ForkJoinTask.invoke (ForkJoinTask.java:735)
>     at java.util.stream.Nodes.collect (Nodes.java:328)
>     at java.util.stream.ReferencePipeline.evaluateToNode 
> (ReferencePipeline.java:109)
>     at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:541)
>     at java.util.stream.SortedOps$OfRef.opEvaluateParallel 
> (SortedOps.java:157)
>     at java.util.stream.AbstractPipeline.opEvaluateParallelLazy 
> (AbstractPipeline.java:705)
>     at java.util.stream.AbstractPipeline.sourceSpliterator 
> (AbstractPipeline.java:432)
>     at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:233)
>     at java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:566)
>     at 
> org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.discoverToolchains 
> (ToolchainDiscoverer.java:162)
>     at 
> org.apache.maven.plugins.toolchain.jdk.DisplayDiscoveredJdkToolchainsMojo.execute
>  (DisplayDiscoveredJdkToolchainsMojo.java:65)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
> (DefaultBuildPluginManager.java:126)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 
> (MojoExecutor.java:328)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
> (MojoExecutor.java:316)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:212)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:174)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
> (MojoExecutor.java:75)
>     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
> (MojoExecutor.java:162)
>     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute 
> (DefaultMojosExecutionStrategy.java:39)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:159)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:105)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:73)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:53)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:118)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:498)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:283)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:226)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:407)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:348)
> Caused by: java.lang.NullPointerException
>     at java.util.concurrent.ConcurrentHashMap.putVal 
> (ConcurrentHashMap.java:1011)
>     at java.util.concurrent.ConcurrentHashMap.put 
> (ConcurrentHashMap.java:1006)
>     at 
> org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.getToolchainModel 
> (ToolchainDiscoverer.java:241)
>     at 
> org.apache.maven.plugins.toolchain.jdk.ToolchainDiscoverer.lambda$discoverToolchains$6
>  (ToolchainDiscoverer.java:152)
>     at java.util.stream.ReferencePipeline$3$1.accept 
> (ReferencePipeline.java:193)
>     at java.util.HashMap$KeySpliterator.forEachRemaining (HashMap.java:1556)
>     at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:482)
>     at java.util.stream.AbstractPipeline.wrapAndCopyInto 
> (AbstractPipeline.java:472)
>     at java.util.stream.Nodes$CollectorTask.doLeaf (Nodes.java:2183)
>     at java.util.stream.Nodes$CollectorTask.doLeaf (Nodes.java:2149)
>     at java.util.stream.AbstractTask.compute (AbstractTask.java:327)
>     at java.util.concurrent.CountedCompleter.exec (CountedCompleter.java:731)
>     at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289)
>     at java.util.concurrent.ForkJoinPool$WorkQueue.runTask 
> (ForkJoinPool.java:1056)
>     at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1692)
>     at java.util.concurrent.ForkJoinWorkerThread.run 
> (ForkJoinWorkerThread.java:175)
> [INFO] Discovered 0 JDK toolchains:
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> {noformat}
> So, trying to put a null jdk reference into a HashMap? 
> https://github.com/apache/maven-toolchains-plugin/blob/c5edd013b6d7180c8f0712e02abc61b50993f44a/src/main/java/org/apache/maven/plugins/toolchain/jdk/ToolchainDiscoverer.java#L237-L241



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to