How the classpath is constructed differs depending on how you are using Liquibase. Are you using the liquibase bat/shell scripts? From Windows or Linux? Are you using maven? Are you using something else? Each one has its own way of constructing the classpath.
In general, most things do NOT allow for specifying a directory on the classpath.
Steve Donie
Principal Software Engineer
Datical, Inc. http://www.datical.com/
- I’m trying to use the teradata extension: https://github.com/liquibase/liquibase-teradata/wiki
What is meant by “Simply add the liquibase-teradata.jar file to your classpath”? The only way I have found that this works is by putting the jar in the libexec/lib
directory.
Adding a relative or absolute path to the --classpath
option does not result in it being found.
- The documentation makes it appear as though a directory should be possible in the
--classpath
argument, eg. --classpath=\path\to\classes:jdbcdriver.jar
.
However, as an absolute or relative path, this always results in my JDBC driver not found. Only a relative or absolute path to the jar itself works.
The documentation for URLClassLoader does not illuminate this subject for me, unfortunately. Should a directory be possible here?
I was trying to use it with gradle, but my issue regarding the Teradata extension mentioned in my post prevented that from working at all, so this question is restricted to the shell.
Using liquibase if the Teradata extension has to be installed to URLClassLoader, so should it be OS-dependent?
Kishlay, it appears that you are using semicolons in your classpath rather than colons. semicolons are valid on Windows, but colons should be used on Linux.
Steve Donie
Principal Software Engineer
Datical, Inc. http://www.datical.com/
Unexpected error running Liquibase: /appl/pwrmartd/liquibase-3.1.1-bin/lib/tdgssconfig.jar;/appl/pwrmartd/liquibase-3.1.1-bin/lib/terajdbc4.jar;/appl/pwrmartd/liquibase-3.1.1-bin/lib/liquibase.jar does not exist
SEVERE 3/5/18 5:09 PM: liquibase: /appl/pwrmartd/liquibase-3.1.1-bin/lib/tdgssconfig.jar;/appl/pwrmartd/liquibase-3.1.1-bin/lib/terajdbc4.jar;/appl/pwrmartd/liquibase-3.1.1-bin/lib/liquibase.jar does not exist
liquibase.exception.CommandLineParsingException: /appl/pwrmartd/liquibase-3.1.1-bin/lib/tdgssconfig.jar;/appl/pwrmartd/liquibase-3.1.1-bin/lib/terajdbc4.jar;/appl/pwrmartd/liquibase-3.1.1-bin/lib/liquibase.jar does not exist
at liquibase.integration.commandline.Main.configureClassLoader(Main.java:828)
at liquibase.integration.commandline.Main.run(Main.java:187)
at liquibase.integration.commandline.Main.main(Main.java:103)