JDBC drivers with version 12.2.0.1 and above are affected by (non-public) bug 30964068, see Oracle Support Document 2689134.1 for more details. The first version that includes a fix for this issue is 21.3.
We recommend to keep using version 12.1.0.2. If, for some reason, you are required to use a more recent driver, you can either use JDBC 19.6 and apply the patch for bug 30964068 or request a patch from Oracle that is applicable to the version of the driver you want to use.
ICM 7.10.22.1 references the new oracle JDBC driver 19.6.0.0.0 (ojdbc8.jar, ucp.jar, ons.jar). In this context the Gradle build process looks for 3rd_oracle project version 19.3.1.0 in the Artifact Repository Server. These artifacts are not available in the Artifact Repository Server by default which leads to the following error message during the Gradle build process:
FAILURE: Build failed with an exception. * What went wrong: Could not resolve all dependencies for configuration 'appserver+development-cartridges+discoveryserver+init-cartridges+microservices+share+webserver'. > Could not find com.intershop:3rd_oracle:19.3.1.0. Searched in the following locations: file:/home/intershop1/.gradle/.localRepo/com.intershop/3rd_oracle/19.3.1.0/ivys/ivy-19.3.1.0.xml file:/home/intershop1/.gradle/.localRepo/com.intershop/3rd_oracle/19.3.1.0/jars/3rd_oracle-jar-19.3.1.0.jar file:/home/intershop1/.gradle/.localRepo/com.intershop/3rd_oracle/19.3.1.0/jars/ivy-19.3.1.0.xml file:/home/intershop1/.gradle/.localRepo/com/intershop/3rd_oracle/19.3.1.0/3rd_oracle-19.3.1.0.pom file:/home/intershop1/.gradle/.localRepo/com/intershop/3rd_oracle/19.3.1.0/3rd_oracle-19.3.1.0.jar http://localhost:8081/nexus/content/groups/components/com.intershop/3rd_oracle/19.3.1.0/ivys/ivy-19.3.1.0.xml http://localhost:8081/nexus/content/groups/components/com.intershop/3rd_oracle/19.3.1.0/jars/3rd_oracle-jar-19.3.1.0.jar http://localhost:8081/nexus/content/groups/components/com.intershop/3rd_oracle/19.3.1.0/jars/ivy-19.3.1.0.xml http://localhost:8081/nexus/content/groups/components/com/intershop/3rd_oracle/19.3.1.0/3rd_oracle-19.3.1.0.pom http://localhost:8081/nexus/content/groups/components/com/intershop/3rd_oracle/19.3.1.0/3rd_oracle-19.3.1.0.jar Required by: unspecified:unspecified:unspecified > com.intershop.responsive:inspired-b2x:15.0.2
This behavior can be handled in two different ways.
For this approach you have to upload the missing 3rd_oracle version 19.3.1.0 with all new Oracle Drivers (ojdbc8.jar, ucp.jar, ons.jar) to the Artifact Repository Server. To achieve this do the following:
distributionUrl
to the gradle-wrapper.properties file.(optional) Download ojdbc8.jar, ucp.jar and ons.jar from https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html and store the drivers in 3rd_oracle/build/oracleLibs/jars.
When skipping this step, it is necessary to set the environment for OTN user and password for the gradlew publish
task to be able to download the JDBC driver files (see Step 5).
Run the gradlew publish
task with all necessary parameters as follows:
gradlew publish -PreleaseURL=<URL for release publishing> -PrepoUserName=<deployment user> -PrepoUserPasswd=<deployment user password> -DOTN_USER=<OTN user name> -DOTN_PASSWD=<OTN user password>
./gradlew publish -PreleaseURL=<URL for release publishing> -PrepoUserName=<deployment user> -PrepoUserPasswd=<deployment user password> -DOTN_USER=<OTN user name> -DOTN_PASSWD=<OTN user password>
To continue using the old 3rd_oracle project version, just declare the old version in the root project. To achieve this do the following:
Introduce a new version file in the root project, which is considered by the version recommender:
versionRecommendation { provider { // thirdparty.version shouldn't be used anymore properties('thirdparty', file('thirdparty.version')) {} ...
Note
This line needs to be the first in the provider{}
block.
Create a file named thirdparty.version with the following content in your root project directory:
com.intershop:3rd_oracle = 12.1.0.2.0.0