'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 |