JAR -uvf Command On IBM AIX JRE/JDK Does Not Correctly Update the JAR Archive (Doc ID 1595094.1)

Last updated on JULY 26, 2017

Applies to:

JDBC - Version 11.2.0.3.0 and later
IBM AIX on POWER Systems (32-bit)
IBM AIX on POWER Systems (64-bit)

Symptoms

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 (build pap3260sr11-20120806_01(SR11))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 AIX ppc-32 jvmap3260sr11-20120801_118201 (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:

  1. Download the required one-off/backport patch from MetaLink.
  2. Extract this downloaded to patch to any directory on the local system.
  3. Unzip/extract the patch file.
  4. Make a backup copy of the existing "ojdbc6.jar" file.
  5. Copy the file "ojdbc6.jar" used by your application to the directory \[PatchNumber]\files\jdbc\lib\ojdbc6.jar.
  6. Execute the following commands from a command prompt:
    % cd .\[PatchNumber]\files\jdbc\lib\ojdbc6.jar
    % jar uvf ojdbc6.jar *.*
  7. 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.

e.g.

  

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.

Changes

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms