apache / apache/maven-changes-plugin

NullPointerException: Cannot invoke "java.lang.CharSequence.toString()" because "target" is null

Aperta
#130 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Java
Stelle
15
Fork
22
Merge medio
8h 1m
PR unite (30g)
3

Descrizione

### Affected version

3.0.0-M3

### Bug description

Whatever the actual problem is, the plugin should log an actionable error message instead of throwing a `NullPointerException`.

```
auncher.Launcher.launch (Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.CharSequence.toString()" because "target" is null
at java.lang.String.replace (String.java:3085)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke (UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke (UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute (ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute (ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value (ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTExpression.value (ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render (ASTSetDirective.java:242)
at org.apache.velocity.runtime.parser.node.SimpleNode.render (SimpleNode.java:439)
at org.apache.velocity.Template.merge (Template.java:358)
at org.apache.velocity.Template.merge (Template.java:262)
at org.apache.maven.plugins.changes.announcement.AnnouncementMojo.processTemplate (AnnouncementMojo.java:624)
at org.apache.maven.plugins.changes.announcement.AnnouncementMojo.doGenerate (AnnouncementMojo.java:579)
at org.apache.maven.plugins.changes.announcement.AnnouncementMojo.doGenerate (AnnouncementMojo.java:536)
at org.apache.maven.plugins.changes.announcement.AnnouncementMojo.execute (AnnouncementMojo.java:519)
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 jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314)
```
Reproduce with:
```
git clone https://github.com/apache/commons-fileupload.git
cd commons-fileupload
git checkout f1028401e3d59bd42aee9ab4d26995991db1aadc
mvn -e --non-recursive changes:announcement-generate -Prelease-notes -Dchanges.version=1.6.0
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Esegui la riproduzione Maven fornita sul commit f1028401e3d59bd42aee9ab4d26995991db1aadc, quindi esamina AnnouncementMojo.processTemplate e doGenerate intorno alle righe 536, 579 e 624 di AnnouncementMojo.java indicate nella segnalazione. Il lavoro è completato quando lo stesso input non valido produce un errore registrato utilizzabile invece della NullPointerException.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
build-system, tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
52/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.