Hi everyone,
recently I have integrated the “project verify” command into my CI/CD pipeline, to run before a deployment is started. For some reason, when I run this command, I get a Java NullPointerException:
Verification Service 'verifysnapshot' loaded
Verification Service 'sqlclversion' loaded
Verification Service 'verifyprojectname' loaded
Verification Service 'stagechangelogcomplete' loaded
Verification Service 'stagechangelogfilesvalid' loaded
Verification Service 'verifynonpublicsettings' loaded
Verification Service 'exampletest' loaded
Found 7 services!
ERROR: Bei der Verarbeitung Ihrer Anforderung ist ein Fehler aufgetreten:
Cannot invoke "oracle.dbtools.extension.project.core.settings.Settings.getPub()" because the return value of "java.util.LinkedHashMap.get(Object)" is null
DEBUG:
java.lang.NullPointerException: Cannot invoke "oracle.dbtools.extension.project.core.settings.Settings.getPub()" because the return value of "java.util.LinkedHashMap.get(Object)" is null
at oracle.dbtools.extension.project.core.verify.services.settings.NonPublicSettings.doTest(NonPublicSettings.java:32)
at oracle.dbtools.extension.project.core.verify.interfaces.VerifyServiceInterface.executeTest(VerifyServiceInterface.java:68)
at oracle.dbtools.extension.project.core.verify.VerifyEngine.runService(VerifyEngine.java:389)
at oracle.dbtools.extension.project.core.verify.VerifyEngine.runGroup(VerifyEngine.java:520)
at oracle.dbtools.extension.project.core.verify.VerifyEngine.runAllGroups(VerifyEngine.java:542)
at oracle.dbtools.extension.project.commands.verify.VerifyCommand.run(VerifyCommand.java:86)
at oracle.dbtools.extension.project.commands.handler.CommandHandler.VerifyCommand(CommandHandler.java:79)
at oracle.dbtools.extension.project.commands.handler.ProjectCommand.handleEvent(ProjectCommand.java:89)
at oracle.dbtools.raptor.newscriptrunner.util.command.ParsedCommandListener.handleEvent(ParsedCommandListener.java:62)
at oracle.dbtools.raptor.newscriptrunner.CommandRegistry.fireListeners(CommandRegistry.java:449)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.lambda$run$0(ScriptRunner.java:241)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:835)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:124)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:364)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:245)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:1392)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:1651)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:372)
I get the same error with all SQLcl versions that support the new project command (SQLcl v24.3 to v25.2.2) on the Windows client, as well as when using Oracle's SQLcl Docker image.
Do you have any idea what could cause this error?
When I execute the “project deploy” command, I get similar outputs. I guess that the Liquibase extension prints outputs first and that SQLcl repeats them again after LB ran through. That makes troubleshooting and the identification of consequential errors a bit more complex.
Is there a way to avoid the duplicate output? I have already disabled “debug” and “verbose,” but that did not make any difference.
Thank you very much!