IBM Support

PI71616: configUtility find or install throws a NoClassDefFoundError when using local repository

Fixes are available

17.0.0.1: WebSphere Application Server Liberty 17.0.0.1
17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A local repository is created to install a feature/component
    to
    Liberty, such as the remoteAdmistrator feature.
    Running the installUtility and/or configUtility to test the
    connection is successful.
    When the configUtility or installUtility is used to install
    the
    feature a NoClassDefFoundError is thrown.
    

Local fix

  • Use the IBM hosted repository when they want to install or get
    the configuration stanzas.
    Rename your local repository configuration so it is not used
    with the following command.
    
    Example of local repository being renamed
    
    ${wlp.install.dir}/etc/repositories.properties file to
    ${wlp.install.dir}/etc/repositories.properties.disabled the
    command will run successfully after which they could rename
    their properties file back - this would however mean that the
    system would be trying to reach the IBM hosted repository when
    they run configUtilty
    configUtility -install remoteAdmistrator
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty - Using configUtility with a *
    *                  local repository configured                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: configUtility giving                    *
    *                      ClassNotFoundException for              *
    *                      com.ibm.ws.kernel.feature.provisioning. *
    *                      ProvisioningFeatureDefinition           *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When running the "configUtility find" command or the
    "configUtility install <option>" command you will receive the
    error stack below in the situation where you have a
    <WLP_INSTALL_DIR>/etc/repositories.properties file configured.
    
    java.lang.NoClassDefFoundError:
    com.ibm.ws.kernel.feature.provisioning.ProvisioningFeatureDefini
    tion
    	at
    com.ibm.ws.install.RepositoryConfigUtils.loadRepoProperties(Repo
    sitoryConfigUtils.java:88)
    	at
    com.ibm.ws.config.utility.utils.RepositoryAccessUtility.getProxy
    (RepositoryAccessUtility.java:126)
    	at
    com.ibm.ws.config.utility.utils.RepositoryAccessUtility.getLogin
    Info(RepositoryAccessUtility.java:113)
    	at
    com.ibm.ws.config.utility.utils.RepositoryAccessUtility.getConfi
    gSnippetList(RepositoryAccessUtility.java:59)
    	at
    com.ibm.ws.config.utility.actions.FindAction.handleAction(FindAc
    tion.java:38)
    	at
    com.ibm.ws.config.utility.ConfigUtility.runProgram(ConfigUtility
    .java:109)
    	at
    com.ibm.ws.config.utility.ConfigUtility.main(ConfigUtility.java:
    154)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:95)
    	at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:56)
    	at java.lang.reflect.Method.invoke(Method.java:620)
    	at
    com.ibm.ws.kernel.boot.cmdline.UtilityMain.internal_main(Utility
    Main.java:157)
    	at
    com.ibm.ws.kernel.boot.cmdline.UtilityMain.main(UtilityMain.java
    :42)
    	at com.ibm.ws.kernel.boot.cmdline.Main.main(Main.java:52)
    class load: java/util/Collections$EmptyIterator from: C:\Program
    Files\IBM\Java_7.1.3.40\jre\lib\rt.jar
    Caused by: java.lang.ClassNotFoundException:
    com.ibm.ws.kernel.feature.provisioning.ProvisioningFeatureDefini
    tion
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:600)
    	at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:786)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:764)
    	at
    com.ibm.ws.kernel.boot.cmdline.PackageDelegateClassLoader.loadCl
    ass(PackageDelegateClassLoader.java:56)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:741)
    	... 14 more
    
    The problem occurs as the configUtility command reads
    information from the repositories.properties file and then tries
    to call InstallUtils.close(repoFile).  The JVM classloader then
    tries to load the InstallUtils class, succesfully finds the
    InstallUtils class but then fails during bytecode validation of
    the InstallUtils class as the JVM tries to load the
    com.ibm.ws.kernel.feature.provisioning.ProvisioningFeatureDefini
    tion.
    
    Within the InstallUtils class, a method was introduced that had
    ProvisioningFeatureDefinition in its method signature, a call to
    this new method was also added but passed in a
    SubsystemFeatureDefinitionImpl (which implements
    ProvisioningFeatureDefinition) - because of this, the JVM tries
    to ensure that SubsystemFeatureDefinitionImpl and
    ProvisioningFeatureDefinition are type compatible, and to do
    this it needs to load the classes.  At this point it finds that
    these are not on the classpath and the error is thrown.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PI71616

  • Reported component name

    LIBERTY PROFILE

  • Reported component ID

    5724J0814

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-11-01

  • Closed date

    2016-11-16

  • Last modified date

    2016-11-16

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    LIBERTY PROFILE

  • Fixed component ID

    5724J0814

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
18 October 2021