typedef class com.tibco.n2.common.installer.ant.types.resources.comparators.PluginVersion cannot be found using the classloader AntClassLoader

typedef class com.tibco.n2.common.installer.ant.types.resources.comparators.PluginVersion cannot be found using the classloader AntClassLoader

book

Article ID: KB0077717

calendar_today

Updated On:

Products Versions
TIBCO BPM Enterprise (formerly TIBCO ActiveMatrix BPM) 4.0.0, 4.1.0, 4.2.0, 4.3.0

Description

While upgrading, installation of TIBCO ActiveMatrix BPM in TIBCO_HOME may fail with an error on a post-install task -

-setup-paths:

post-install:
[propertyfile] Updating property file: /home/bpm/bpmupgr_remote_home/bpm/4.3/scripts/post-install.properties

BUILD FAILED
/home/bpm/bpmupgr_remote_home/bpm/4.3/scripts/post-install.xml:168: typedef class com.tibco.n2.common.installer.ant.types.resources.comparators.PluginVersion cannot be found
 using the classloader AntClassLoader[/home/bpm/bpmupgr_remote_home/tools/lib/antpackage.jar:/home/bpm/bpmupgr_remote_home/components/shared/1.0.0/plugins/com.tibco.security.tibcrypt_2.18.304.001.jar:/home/bpm/bpmupgr_remote_home/components/shared/1.0.0/plugins/com.tibco.tpcl.org.slf4j.log4j12_1.6.200.001/slf4j-log4j12-1.5.2.jar:/home/bpm/bpmupgr_remote_home/components/shared/1.0.0/plugins/com.tibco.tpcl.org.slf4j.log4j12_1.6.200.001/slf4j-api-1.5.2.jar:/home/bpm/bpmupgr_remote_home/components/shared/1.0.0/plugins/com.tibco.tpcl.org.apache.log4j_1.2.600.001/log4j-1.2.15.jar:/home/bpm/bpmupgr_remote_home/components/shared/1.0.0/plugins/com.tibco.n2.common.installer_1.8.0.008.jar]

Total time: 2 seconds 

 
Cause: 

The post-install ant task loads the required plugin - com.tibco.n2.common.installer* - based on the last modified timestamp. If TIBCO_HOME filesystem was restored without preserving timestamps, this may cause incorrect plugin to be loaded. 

Here is an example of the post-install task from AMX BPM v4.3.0,  TIBCO_HOME/bpm/4.3/scripts/post-install.xml -

<target name="post-install" depends="-setup-paths">
  <pathconvert property="common.installer.classpath">
    <path>
    .
    .
    .
      <last>
       <sort>
        <fileset dir="${plugins.dir}" includes="com.tibco.n2.common.installer_*.jar"/>
        <date xmlns="antlib:org.apache.tools.ant.types.resources.comparators"/>
       </sort>
      </last>
    </path>


The class com.tibco.n2.common.installer.ant.types.resources.comparators.PluginVersion does not exist in plugin version 1.8.x or lower.

Issue/Introduction

When upgrading TIBCO ActiveMatrix BPM (AMX BPM), it is required to install the new software in the existing TIBCO_HOME. Installation of AMX BPM in TIBCO_HOME may fail with an error on a post-install task

Environment

ALL

Resolution

Any backup/restore of the filesystem must always preserve timestamp. Recover the timestamp from the backup, if feasible. 

If filesystem cannot be restored with timestamp, follow the below workaround - 

A. If you have already encountered this error while installing - 

Step 1 - Confirm the existing installer plugin versions and note the latest.

For UNIX, ls --full-time TIBCO_HOME/components/shared/1.0.0/plugins/com.tibco.n2.common.installer*
For windows, dir TIBCO_HOME\components\shared\1.0.0\plugins\com.tibco.n2.common.installer*

For example - if 4.3.0 is installed the latest plugin version is com.tibco.n2.common.installer_1.12.1.008.jar

Step 2 - Replace the TIBCO_HOME/bpm/4.3/scripts/post-install.properties - common.installer.classpath with the latest plugin version

B. You may follow the below steps to check if this issue exists and take steps prior to the installation to avoid the failure - 

Step 1 - Check if the most recent timestamp is for a plugin version 1.8.x - 

For UNIX, ls --full-time TIBCO_HOME/components/shared/1.0.0/plugins/com.tibco.n2.common.installer*
For windows, dir TIBCO_HOME\components\shared\1.0.0\plugins\com.tibco.n2.common.installer*

If yes, then proceed to step 2. If no, then you will not run into this problem 

Step 2 - If the plugin version with the latest timestamp is 1.8.x and a higher version is available, then update the highest available plugin version to have the latest timestamp - 

For example - touch TIBCO_HOME/components/shared/1.0.0/plugins/com.tibco.n2.common.installer_1.11.0.005.jar

Step 3 - Install the new AMX BPM version

Step 4 - Repeat Step 1 and note down the latest plugin version

Step 5 - Replace the post-install.properties - common.installer.classpath with the latest plugin version

Additional Information

https://docs.tibco.com/pub/amx-bpm/4.3.0/doc/html/bpmhelp/GUID-311E9D82-F6CE-49F5-B4E2-15CE5EDC5FC3.html?local=true&nav=toc