Liquibase version: 4.0.0
Maven version: Apache Maven 3.6.3
Oracle db version: Oracle Database 12c Standard Edition
I’m trying to use ojdbc8.jar
in maven without setting the classpath: ojdbc8.jar
in the liquibase.properties
file. I found here that you can upload the ojdbc8.jar
in your local maven repository.
I did this with the following command:
mvn install:install-file -Dfile=C:\path\to\ojdbc8.jar -DgroupId="com.oracle.jdbc" -DartifactId=ojdbc8 -Dversion="12.2.0.1" -Dpackaging=jar
Verified the result and I can now find the following file: C:\Users\cft\.m2\repository\com\oracle\jdbc\ojdbc8\12.2.0.1\ojdbc8-12.2.0.1.jar
.
Now when I run the command:
mvn liquibase:update -P release-abap-test
I get the error Possibly the wrong driver for the given database URL
. This error occurs for all databases that are not on my local machine. The same command works fine for a database that is on my local machine. Executing a direct liquibase update
including a reference to a local copy of the ojdbc8.jar
command works fine for all databases that are not on my local machine. What am I doing wrong here?
[INFO] Liquibase Community 4.0.0 by Datical
[INFO] Starting Liquibase at 15:01:55 (version 4.0.0 #19 built at 2020-07-13 19:45+0000)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.470 s
[INFO] Finished at: 2020-08-19T15:01:57+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:4.0.0:update (default-cli) on project liquibase-poc:
[ERROR] Error setting up or running Liquibase:
[ERROR] liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: Connection could not be created to jdbc:oracle:thin:@//bk-rdk-ota-ora-scan:1521/BKTST with driver oracle.jdbc.OracleDriver. Possibly the wrong driver for the given database URL
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
My project contains in the most basic form the following files.
Liquibase/
├── liquibase.properties
├── master.changelog.xml
└── pom.xml
The content of my liquibase.properties file:
changeLogFile=master.changelog.xml
driver: oracle.jdbc.OracleDriver
The content of my master.changelog.xml:
<?xml version="1.0" encoding="utf-8" ?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-3.8.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">
<include file="pathtoanotherxmlfile.changelog.xml" relativeToChangelogFile="true"/>
<include file="pathtojustanotherxmlfile.changelog.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
The content of my pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.liquibase-poc</groupId>
<artifactId>liquibase-poc</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>liquibase-poc</name>
<dependencies>
<!-- Oracle -->
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
</dependency>
<!-- Liquibase -->
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>release-abap-test</id>
<build>
<plugins>
<!-- Use Java 1.8 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>4.0.0</version>
<configuration>
<contexts>CZ</contexts>
<labels>ABAP</labels>
<dropFirst>false</dropFirst>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
<url>jdbc:oracle:thin:@//bk-rdk-ota-ora-scan:1521/BKTST</url>
<username>user</username>
<password>pass</password>
<propertyFile>liquibase.properties</propertyFile>
</configuration>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</project>