Skip to Main Content

SQLcl: MCP Server & SQL Prompt

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

SQLcl 25.3 - NoClassDefFoundError when running from Git Bash (MINGW64) on Windows

Bozo0303 days ago

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!

Comments
Post Details
Added 3 days ago
0 comments
45 views