Environment
- SQLcl Version: 25.3.0.0 Build: 25.3.0.274.1210
- OS: Windows
- Terminal: Git Bash (MINGW64)
- Previous Working Version: SQLcl 25.2
Problem Description
SQLcl 25.3 fails to start when executed from Git Bash (MINGW64) terminal on Windows, while it works perfectly fine from PowerShell or CMD. This is a regression - SQLcl 25.2 worked fine in the same environment.
Error Message
$ sql -V
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Exception in thread "main" java.lang.NoClassDefFoundError: oracle.dbtools.win32.WindowsSupport
at oracle.dbtools.raptor.utils.WindowsUtility.readStringSubKeys(WindowsUtility.java:81)
at oracle.dbtools.raptor.scriptrunner.cmdline.JDBCHelper.getOH(JDBCHelper.java:83)
at oracle.dbtools.raptor.scriptrunner.cmdline.JDBCHelper.isOHReal(JDBCHelper.java:58)
at oracle.dbtools.raptor.scriptrunner.cmdline.JDBCHelper.doesOHJDBCExist(JDBCHelper.java:120)
at oracle.dbtools.raptor.scriptrunner.cmdline.SQLCliOptions.populateContextWithOptions(SQLCliOptions.java:1040)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processArgsAndPopulateInContext(SqlCli.java:329)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processArgsAndPopulateInContext(SqlCli.java:321)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:276)
Caused by: java.lang.ClassNotFoundException: oracle.dbtools.win32.WindowsSupport
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 8 more
Working Scenario
SQLcl 25.3 works fine from Windows PowerShell:
PS C:> sql -V
SQLcl: Release 25.3.0.0 Production Build: 25.3.0.274.1210
Workaround
Using winpty wrapper works:
$ winpty sql -V
SQLcl: Release 25.3.0.0 Production Build: 25.3.0.274.1210
Could you please investigate this regression and restore compatibility with POSIX-style terminals on Windows (Git Bash/MINGW64) as it was working in SQLcl 25.2?
Thank you!