JAR -uvf Command on IBM AIX JRE/JDK Does Not Correctly Update the JAR Archive
(Doc ID 1595094.1)
Last updated on APRIL 29, 2021
Applies to:JDBC - Version 18.104.22.168.0 and later
IBM AIX on POWER Systems (32-bit)
IBM AIX on POWER Systems (64-bit)
With some IBM JRE / JDK versions, the JAR command when used with 'uvf' parameters does not correctly update the JAR archive it is operating on.
This issue has specifically been observed on the the following JRE version:
Java(TM) SE Runtime Environment:
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 (JIT enabled, AOT enabled)
J9VM - 20120801_118201
JIT - r9_20120608_24176ifx1
GC - 20120516_AA)
JCL - 20120713_01
The current procedure for applying a manual update is as follows:
- Download the required one-off/backport patch from MetaLink.
- Extract this downloaded to patch to any directory on the local system.
- Unzip/extract the patch file.
- Make a backup copy of the existing "ojdbc6.jar" file.
- Copy the file "ojdbc6.jar" used by your application to the directory \[PatchNumber]\files\jdbc\lib\ojdbc6.jar.
- Execute the following commands from a command prompt:
% cd .\[PatchNumber]\files\jdbc\lib\ojdbc6.jar
% jar uvf ojdbc6.jar *.*
- Copy the patched "ojdbc6.jar" file to your test environment.
When using an Oracle JRE or JVM, there is clear output to show that the patched file has been inserted into the unpatched JAR.
The IBM version of JAR gives no output, even when the 'v' flag is specified.
When the problem occurs, it is difficult to detect, as the output JAR file does increase in size following the 'jar uvf' operation.
The baseline ojdbc6.jar was 2714189 bytes.
Following a successful patching it was 2729597 bytes.
Following an unsuccessful patch with IBM JAR it was 2729659 bytes.
As the JAR file grows in size (due to compression algorithm differences), you think that the patch has been successfully installed. This is not the case.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document