'Getting "Couldn't find class" error in mule application 4.3.0 after deployment

I have created a Mule 4.3 application which invokes a non static Java method.
The application is getting built and deployed successfully but I'm getting a "Couldn't find class" error.

Mule configuration to invoke java method is as below:

<spring:config name="springConfig" files="beans.xml" />
    <flow name="mule-configFlow" doc:id="c7374765-8867-4e12-b62b-88e69f98824c" >
        <scheduler doc:name="rccHeartbeat" doc:id="85e2d9b9-330d-48a1-a37b-4882a46bcaa6" >
            <scheduling-strategy >
                <fixed-frequency startDelay="60000" frequency="1000"/>
            </scheduling-strategy>
        </scheduler>
        <!--  <java:invoke doc:name="Invoke" doc:id="1b1aac46-4795-4172-a090-a0615a11dcd6" class="com.emsgt.occ600.task.RCCHeartbeatGenerator" method="process()" instance="taskScheduler"/> -->
         <java:invoke instance="taskScheduler" class="com.emsgt.occ600.task.RCCHeartbeatGenerator" method="process()" />
    </flow>

beans.xml :-

getting below error :

ERROR 2022-03-24 07:09:00,289 \[\[MuleRuntime\].uber.08:
\[occtaskscheduler-1.0.0-SNAPSHOT-mule-application\].mule-configFlow.BLOCKING
@294774b1\] \[processor: ; event:
476c5a30-ab41-11ec-8fb0-300a20524153\]
 org.mule.runtime.core.internal.exception.DefaultSystemExceptionStrategy:
 ********************************************************************************
 
Message               : Couldn't find class:
com.emsgt.occ600.task.RCCHeartbeatGenerator Element               :
mule-configFlow/processors/0 @
occtaskscheduler-1.0.0-SNAPSHOT-mule-application:mule-config.xml:21
(Invoke) Element DSL           : \<java:invoke doc:name="Invoke"
doc:id="1b1aac46-4795-4172-a090-a0615a11dcd6"
class="com.emsgt.occ600.task.RCCHeartbeatGenerator" method="process()"
instance="taskScheduler"\>\</java:invoke\> Error type            :
JAVA:CLASS_NOT_FOUND FlowStack             : at
mule-configFlow(mule-configFlow/processors/0 @

pom.xml dependencies are as below :-

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ems.occ.occtaskscheduler</groupId>
    <artifactId>occtaskscheduler</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>mule-application</packaging>

    <name>occtaskscheduler</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <app.runtime>4.3.0-20210322</app.runtime>
        <mule.maven.plugin.version>3.5.1</mule.maven.plugin.version>

        <springVersion>4.3.17.RELEASE</springVersion>
        <springSecurityVersion>4.2.6.RELEASE</springSecurityVersion>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
            <plugin>
                <groupId>org.mule.tools.maven</groupId>
                <artifactId>mule-maven-plugin</artifactId>
                <version>${mule.maven.plugin.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <sharedLibraries>
                        <sharedLibrary>
                            <groupId>org.springframework</groupId>
                            <artifactId>spring-context</artifactId>
                        </sharedLibrary>
                        <sharedLibrary>
                            <groupId>org.springframework</groupId>
                            <artifactId>spring-core</artifactId>
                        </sharedLibrary>
                        <sharedLibrary>
                            <groupId>org.springframework</groupId>
                            <artifactId>spring-beans</artifactId>
                        </sharedLibrary>
                        <sharedLibrary>
                            <groupId>org.springframework.security</groupId>
                            <artifactId>spring-security-config</artifactId>
                        </sharedLibrary>
                        <sharedLibrary>
                            <groupId>org.apache.activemq</groupId>
                            <artifactId>activemq-client</artifactId>
                        </sharedLibrary>
                        <sharedLibrary>
                            <groupId>org.springframework.security</groupId>
                            <artifactId>spring-security-core</artifactId>
                        </sharedLibrary>
                    </sharedLibraries>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <compilerArgs>
                        <args>-parameters</args>
                    </compilerArgs>
                    <target>1.8</target>
                </configuration>
            </plugin>
        <!-- newly added -->
            
            <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <configuration>
                <groupId>com.hgt.occ600.emsdalutil</groupId>
                <artifactId>emsutil</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
                <file>C:/Users/Administrator/AnypointStudio/studio-workspace/occtaskscheduler/emsdalutil.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <configuration>
                <groupId>com.hgt.occ600.occstatusmonitor</groupId>
                <artifactId>emsutil</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
                <file>C:/Users/Administrator/AnypointStudio/studio-workspace/occtaskscheduler/occstatusmonitor.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <configuration>
                <groupId>com.hgt.occ600.emsocc600dal</groupId>
                <artifactId>emsocc600dal</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
                <file>C:/Users/Administrator/AnypointStudio/studio-workspace/occtaskscheduler/emsocc600dal.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <configuration>
                <groupId>com.hgt.occ600.emsocc600msgmanager</groupId>
                <artifactId>emsocc600msgmanager</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
                <file>C:/Users/Administrator/AnypointStudio/studio-workspace/occtaskscheduler/emsocc600msgmanager.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>
<!-- Newly added end -->
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${springVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${springVersion}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${springSecurityVersion}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-commons-core -->
        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-commons -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-commons</artifactId>
            <version>1.5.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.mule.connectors</groupId>
            <artifactId>mule-http-connector</artifactId>
            <version>1.5.24</version>
            <classifier>mule-plugin</classifier>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.mule.connectors/mule-jms-connector -->
        <!-- <dependency> <groupId>org.mule.connectors</groupId> <artifactId>mule-jms-connector</artifactId> 
            <version>0.9.0</version> <scope>provided</scope> </dependency> -->

        <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>30.1.1-jre</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.10.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-jms -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>5.3.8</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/log4j/log4j -->
        
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
        <version>2.17.1</version>
      </dependency> 
      
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.17.1</version>
      </dependency>
      
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.17.1</version>
      </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.axis2/axis2 -->
        <dependency>
            <groupId>org.mule.connectors</groupId>
            <artifactId>mule-sockets-connector</artifactId>
            <version>1.2.1</version>
            <classifier>mule-plugin</classifier>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.axis2/axis2-adb -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.3.0</version>
        </dependency>
        <!-- Thanks for using https://jar-download.com -->

        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-spring-module</artifactId>
            <version>1.3.6</version>
            <classifier>mule-plugin</classifier>
        </dependency>
        <!-- <dependency> <groupId>org.mule.connectors</groupId> <artifactId>mule-jms-connector</artifactId> 
            <version>0.9.0</version> <classifier>mule-plugin</classifier> </dependency> -->
        <!-- <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-client</artifactId> 
            <version>5.14.4</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> 
            <artifactId>activemq-broker</artifactId> <version>5.14.4</version> </dependency> -->
        <dependency>
            <groupId>org.mule.connectors</groupId>
            <artifactId>mule-jms-connector</artifactId>
            <version>1.7.5</version>
            <classifier>mule-plugin</classifier>
        </dependency>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-client</artifactId>
            <version>5.15.4</version>
        </dependency>
        <dependency>
            <groupId>org.mule.module</groupId>
            <artifactId>mule-java-module</artifactId>
            <version>1.2.8</version>
            <classifier>mule-plugin</classifier>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>4.2.6.RELEASE</version>
        </dependency>
        <!--  hibernate -->
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.5.Final</version>
        </dependency>
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.12.1.GA</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.2.4.Final</version>
        </dependency>
        
        <!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
</dependency>
        
        <!-- https://mvnrepository.com/artifact/com.esen.jdbc/sybase-jconn3 -->
        <dependency>
            <groupId>com.sybase</groupId>
            <artifactId>jconn3</artifactId>
            <version>3.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-mongodb -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>1.1.0.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/net.sourceforge.jtds/jtds -->
        <dependency>
            <groupId>net.sourceforge.jtds</groupId>
            <artifactId>jtds</artifactId>
            <version>1.3.1</version>
        </dependency>

        <!--  OCC dependencies -->
        <dependency>
            <groupId>com.occ600.msgmanager</groupId>
            <artifactId>emsocc600msgmanager</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>com.occ600.dal</groupId>
            <artifactId>emsocc600dal</artifactId>
            <version>1.0</version>
        </dependency>
        
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-validation-module</artifactId>
            <version>1.4.3</version>
            <classifier>mule-plugin</classifier>
        </dependency>
        
  <dependency>
    <groupId>com.hgt.occ600.emsocc600msgmanager</groupId>
    <artifactId>emsocc600msgmanager</artifactId>
    <version>1.0</version>
</dependency>  

 <dependency>
    <groupId>com.hgt.occ600.emsocc600dal</groupId>
    <artifactId>emsocc600dal</artifactId>
    <version>1.0</version>
</dependency>

 <dependency>
    <groupId>com.hgt.occ600.emsdalutil</groupId>
    <artifactId>emsdalutil</artifactId>
    <version>1.0</version>
</dependency>

 <!-- <dependency>
    <groupId>com.hgt.occ600.occstatusmonitor</groupId>
    <artifactId>occstatusmonitor</artifactId>
    <version>1.0</version>
</dependency>  
 -->
    </dependencies>

    <repositories>
        <repository>
            <id>anypoint-exchange-v2</id>
            <name>Anypoint Exchange</name>
            <url>https://maven.anypoint.mulesoft.com/api/v2/maven</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>mulesoft-releases</id>
            <name>MuleSoft Releases Repository</name>
            <url>https://repository.mulesoft.org/releases/</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>mulesoft-releases</id>
            <name>MuleSoft Releases Repository</name>
            <layout>default</layout>
            <url>https://repository.mulesoft.org/releases/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

</project>


Solution 1:[1]

Try sharing the jar library in the pom.xml file. See the instructions at the documentation.

Example (replace with the right groupId and artifactId):

                        <sharedLibrary>
                            <groupId>com.occ600.XXXX<</groupId>
                            <artifactId>YYYY</artifactId>
                        </sharedLibrary>

Also ensure that you are using the latest release of the Java Module.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1