I’m trying to resolve java.lang.ClassNotFoundException:jade.core.migration.InterPlatformMobilityService
, which occurs in the JADE (Java Agent Development Framework) when I install add package for “Inter” platform mobility, which has a JAR titled “migration.jar” which contains InterPlatformMobilityService
class. I need this extra JAR, to send an agent (code & data) across different computers.
Here is my output that shows the error:
INFO: Service jade.core.mobility.AgentMobility initialized
Sep 03, 2021 3:38:48 PM jade.core.AgentContainerImpl initAdditionalServices
WARNING: Exception initializing service jade.core.migration.InterPlatformMobilityService
jade.core.ServiceException: An error occurred during service activation - Caused by: jade.core.migration.InterPlatformMobilityService
at jade.core.AgentContainerImpl.startService(AgentContainerImpl.java:1169)
at jade.core.AgentContainerImpl.initAdditionalServices(AgentContainerImpl.java:450)
at jade.core.AgentContainerImpl.startNode(AgentContainerImpl.java:389)
at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:502)
at jade.core.Runtime.createMainContainer(Runtime.java:159)
at abc.def.hgi.Setup.start(Setup.java:47)
at abc.def.hgi.App.main(App.java:51)
Nested Exception:
java.lang.ClassNotFoundException: jade.core.migration.InterPlatformMobilityService
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at jade.core.AgentContainerImpl.startService(AgentContainerImpl.java:1153)
at jade.core.AgentContainerImpl.initAdditionalServices(AgentContainerImpl.java:450)
at jade.core.AgentContainerImpl.startNode(AgentContainerImpl.java:389)
at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:502)
at jade.core.Runtime.createMainContainer(Runtime.java:159)
at abc.def.hgi.Setup.start(Setup.java:47)
at abc.def.hgi.App.main(App.java:51)
My code is purely Java & built via Maven, here is my pom:
<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 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>abc.def.ghi</groupId>
<artifactId>my_edge_ai</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my_edge_ai</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>tilab</id>
<url>https://jade.tilab.com/maven/</url>
</repository>
<repository>
<id>jade-ipms</id>
<url>file:${basedir}/add-ons/ipms/lib/migration.jar</url>
</repository>
<repository>
<id>jade-ipms-harcoded</id>
<url></url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.tilab.jade</groupId>
<artifactId>jade</artifactId>
<version>4.5.0</version>
</dependency>
<dependency>
<groupId>com.tilab.jade</groupId>
<artifactId>jade-misc</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>com.tilab.jade</groupId>
<artifactId>jade-test-suite</artifactId>
<version>1.13.0</version>
</dependency>
<dependency>
<groupId>com.tilab.jade</groupId>
<artifactId>jade-wsdc</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.tilab.jade</groupId>
<artifactId>jade-xml-codec</artifactId>
<version>1.11.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/libs
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
<mainClass>
abc.def.ghi.App
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
Based the JADE’s ipms (InterPlatformMobilityService) download guide, I extracted “ipmsAddOn-1.5.zp” under the my <my_path>/jade/<extract_here> , the same level that <my_path>/jade/lib resides, see the “ipms” README: https://jade.tilab.com/doc/tutorials/ipms/README
Finally, I built my project via “mvn clean install”, with success, output snippet:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.753 s
[INFO] Finished at: 2021-09-03T15:22:24-07:00
[INFO] ------------------------------------------------------------------------
I ran my “jar” via:
java -jar ./target/my_edge_ai-1.0-SNAPSHOT.jar 1 main
The java code attempts to initialize JADE with InterPlatformMobilityService
via (refer snippet):
Which start JADE, with this exception:
This is referenced from (Usage of the JADE Mobility Services, by Fabio Bellifemine etl al.):
“6.4.2 INTER-PLATFORM MOBILITY SERVICE The IPMS is not built into the platform and must be installed as an add-on. To install the add-on, the package distribution file must be unzipped inside the JADE folder from where the ant lib command is used to create a Jar file containing all compiled class files. To use the service, it must be explicitly specified on the command line, without forgetting to include the Intra-Platform Mobility Service first:”
java jade.Boot -services jade.core.mobility.AgentMobilityService;jade.core.migration. InterPlatformMobilityService
I was getting the same java.lang.ClassNotFoundException
, when attempting to launch Intra-Platform Mobility Service via both Java or command-line approach.
Attempt 1 (migration.jar as repo to the pom.xml):
<repositories>
<repository>
<id>tilab</id>
<url>https://jade.tilab.com/maven/</url>
</repository>
<repository>
<id>jade-ipms</id>
<url>file:${basedir}/add-ons/ipms/lib/migration.jar</url>
</repository>
<repository>
<id>jade-ipms-harcoded</id>
<url>/root/my/my/jade/jade/add-ons/ipms/lib/migration.jar</url>
</repository>
</repositories>
Built project without errors, however got the same exception as runtime: java.lang.ClassNotFoundException: jade.core.migration.InterPlatformMobilityService.
Attempt 2 ( I copied the migration.jar, manually to my projects /lib):
root@pc-064067:~/my/my/jade/jade/my_edge_ai/my_edge_ai/libs# ls
commons-codec-1.3.jar jade.jar migration.jar
Again, built project without errors, however got the same exception as runtime: java.lang.ClassNotFoundException: jade.core.migration.InterPlatformMobilityService
.
Attempt # 3, I added migration.jar, to my system class path:
export CLASSPATH=/root/my/my/jade/jade/my_edge_ai/my_edge_ai/libs/jade.jar:$CLASSPATH
export CLASSPATH=/root/my/my/jade/jade/my_edge_ai/my_edge_ai/libs/commons-codec-1.3.jar:$CLASSPATH
export CLASSPATH=/root/my/my /jade/jade/my_edge_ai/my_edge_ai/libs/migration.jar:$CLASSPATH
java -jar ./target/my-1.0-SNAPSHOT.jar 1 main
Again, built project without errors, however got the same exception as runtime: java.lang.ClassNotFoundException: jade.core.migration.InterPlatformMobilityService.
I got the same error also using Java -cp or -classpath flag.
I finally, opened up migration.jar in order to inspect if jade.core.migration.InterPlatformMobilityService was actually present which it was.
Attempt # 4) I did something nasty, I copied the classes in migration.jar directly under my src/main/java, however again the same error!
java.lang.ClassNotFoundException: jade.core.migration.InterPlatformMobilityService.
Attempt 5:
Based on StackOverflow feedback, I installed the JAR locally like this:
mvn install:install-file -Dfile=/home/azureuser/cyz/my/multi_agents/my_edge_ai/JadeDownload/jade/add-ons/ipms/lib/migration.jar -DgroupId=jade.core.migration -DartifactId=InterPlatformMobilityService -Dversion=1.5 -Dpackaging=jar -DJadeAddOnsPath=/home/azureuser/xyz/my/multi_agents/my_edge_ai/JadeDownload/jade/add-ons/ipms/lib/
Output snippet:
[INFO] ---------------------< abc.def.hgi:my_edge_ai >---------------------
[INFO] Building my_edge_ai 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ my_edge_ai ---
[INFO] Installing /home/azureuser/xyz/my/multi_agents/my_edge_ai/JadeDownload/jade/add-ons/ipms/lib/migration.jar to /home/azureuser/.m2/repository/jade/core/migration/InterPlatformMobilityService/1.5/InterPlatformMobilityService-1.5.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.893 s
[INFO] Finished at: 2021-09-07T23:50:50Z
[INFO] ------------------------------------------------------------------------
Built the project :
sudo mvn clean install -DJadeAddOnsPath=/home/azureuser/xyz/my/multi_agents/my_edge_ai/JadeDownload/jade/add-ons/ipms/lib/
Output snippet:
[INFO] --- maven-jar-plugin:3.1.1:jar (default-jar) @ my_edge_ai ---
[INFO] Building jar: /home/azureuser/xyz/my/multi_agents/my_edge_ai/my_edge_ai/target/my_edge_ai-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ my_edge_ai ---
[INFO] Installing /home/azureuser/xyz/my/multi_agents/my_edge_ai/my_edge_ai/target/my_edge_ai-1.0-SNAPSHOT.jar to /root/.m2/repository/abc/def/hgi/my_edge_ai/1.0-SNAPSHOT/my_edge_ai-1.0-SNAPSHOT.jar
[INFO] Installing /home/azureuser/xyz/my/multi_agents/my_edge_ai/my_edge_ai/pom.xml to /root/.m2/repository/abc/def/hgi/my_edge_ai/1.0-SNAPSHOT/my_edge_ai-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.609 s
[INFO] Finished at: 2021-09-07T23:51:57Z
[INFO] ------------------------------------------------------------------------
However same error:
WARNING: Exception initializing service jade.core.migration.InterPlatformMobilityService
jade.core.ServiceException: An error occurred during service activation - Caused by: jade.core.migration.InterPlatformMobilityService
at jade.core.AgentContainerImpl.startService(AgentContainerImpl.java:1169)
at jade.core.AgentContainerImpl.initAdditionalServices(AgentContainerImpl.java:450)
at jade.core.AgentContainerImpl.startNode(AgentContainerImpl.java:389)
at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:502)
at jade.core.Runtime.createMainContainer(Runtime.java:159)
at abc.def.hgi.Setup.start(Setup.java:68)
at abc.def.hgi.App.main(App.java:55)
Nested Exception:
java.lang.ClassNotFoundException: jade.core.migration.InterPlatformMobilityService
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at jade.core.AgentContainerImpl.startService(AgentContainerImpl.java:1153)
at jade.core.AgentContainerImpl.initAdditionalServices(AgentContainerImpl.java:450)
at jade.core.AgentContainerImpl.startNode(AgentContainerImpl.java:389)
at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:502)
at jade.core.Runtime.createMainContainer(Runtime.java:159)
at abc.def.hgi.Setup.start(Setup.java:68)
at abc.def.hgi.App.main(App.java:55)
Attempt #6 (use jar -, based on stackoverflow feedback):
Searching for jade.core.migration.InterPlatformMobilityService in the atual JAR, therefore MUST be under jade/core/migration/InterPlatformMobilityService, which it is, see bold section.
jar -tvf ./add-ons/ipms/lib/migration.jar
Output snippet:
0 Tue May 23 16:26:46 PDT 2017 META-INF/
103 Tue May 23 16:26:44 PDT 2017 META-INF/MANIFEST.MF
0 Tue May 23 16:26:44 PDT 2017 jade/
0 Tue May 23 16:26:44 PDT 2017 jade/core/
0 Tue May 23 16:26:46 PDT 2017 jade/core/migration/
0 Tue May 23 16:26:46 PDT 2017 jade/core/migration/analysis/
0 Tue May 23 16:26:46 PDT 2017 jade/core/migration/code/
0 Tue May 23 16:26:46 PDT 2017 jade/core/migration/ontology/
0 Tue May 23 16:26:46 PDT 2017 samples/
0 Tue May 23 16:26:46 PDT 2017 samples/mobilegui/
2739 Tue May 23 16:26:44 PDT 2017 jade/core/migration/AMSInitiator$PowerupRequest.class
8881 Tue May 23 16:26:44 PDT 2017 jade/core/migration/AMSInitiator.class
10918 Tue May 23 16:26:46 PDT 2017 jade/core/migration/AMSResponder.class
1003 Tue May 23 16:26:46 PDT 2017 jade/core/migration/InterPlatformMobilityHelper.class
2526 Tue May 23 16:26:46 PDT 2017 jade/core/migration/InterPlatformMobilityProxy.class
272 Tue May 23 16:26:46 PDT 2017 **jade/core/migration/InterPlatformMobilityService$1.class**
1687 Tue May 23 16:26:46 PDT 2017 jade/core/migration/InterPlatformMobilityService$CodeLocatorMonitor.class
6816 Tue May 23 16:26:46 PDT 2017 jade/core/migration/InterPlatformMobilityService$CommandOutgoingFilter.class
I also checked the JAR manually by changing it to zip & jade.core.migration.InterPlatformMobilityService is where its suppose to be:
root:~/my/my/jade/jade/my_edge_ai/my_edge_ai# jar -tvf ./target/my_edge_ai-1.0-SNAPSHOT.jar
Output:
401 Wed Sep 08 12:40:46 PDT 2021 META-INF/MANIFEST.MF
0 Wed Sep 08 12:40:46 PDT 2021 META-INF/
0 Wed Sep 08 12:40:40 PDT 2021 abc/
0 Wed Sep 08 12:40:40 PDT 2021 abc/def/
0 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/
0 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/yellowpages/
0 Wed Sep 08 12:40:46 PDT 2021 META-INF/maven/
0 Wed Sep 08 12:40:46 PDT 2021 META-INF/maven/abc.def.hgi/
0 Wed Sep 08 12:40:46 PDT 2021 META-INF/maven/abc.def.hgi/my_edge_ai/
1045 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/App.class
3438 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/ManagerAgent.class
2164 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/SearchForAudioAgent$1.class
3993 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/SearchForAudioAgent.class
2228 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/SearchForBiometricAgent$1.class
3024 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/SearchForBiometricAgent.class
3316 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/SearchForImageAnalysisAgent.class
1094 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/TestAgent$1.class
3555 Tue Sep 07 15:44:40 PDT 2021 META-INF/maven/abc.def.hgi/my_edge_ai/pom.xml
2703 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/AudioAnalysisRegisterAgent$InaCyclicBehavior.class
2264 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/SearchForImageAnalysisAgent$1.class
2669 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/Setup.class
1406 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/TestAgent.class
98 Wed Sep 08 12:40:46 PDT 2021 META-INF/maven/abc.def.hgi/my_edge_ai/pom.properties
4507 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/AudioAnalysisRegisterAgent.class
2313 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/yellowpages/DFRegisterAgent.class
2667 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/yellowpages/DFSubscribeAgent$1.class
2827 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/BiometricsRegisterAgent.class
2755 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/yellowpages/DFSearchAgent.class
1870 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/yellowpages/DFSubscribeAgent.class
284 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/HelloAgent.class
275 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/HiAgent.class
1891 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/ManagerAgent$1.class
2481 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/yellowpages/SubDF.class
2836 Wed Sep 08 12:40:40 PDT 2021 abc/def/hgi/ImageAnalyisRegisterAgent.class
Further investigations:
MANIFEST.MF of the projects built Jar(./target/my-1.0-SNAPSHOT.jar):
Manifest-Version: 1.0
Built-By: root
Class-Path: libs/jade-4.5.0.jar libs/commons-codec-1.3.jar libs/jade-m
isc-2.8.0.jar libs/jade-test-suite-1.13.0.jar libs/jade-wsdc-2.7.0.ja
r libs/axis-plus-1.4.0.jar libs/addressing-1.1.1.jar libs/wss4j-1.5.1
.jar libs/xmlsec-1.3.0.jar libs/jade-xml-codec-1.11.0.jar
Created-By: Apache Maven 3.6.3
Build-Jdk: 1.8.0_292
Main-Class: abc.def.ghi.App
Attempt # 7 (Issue only solved on local machine) :
I decided to build a "fat JAR" that includes all libraries (http://tutorials.jenkov.com/maven/maven-build-fat-jar.html) inside the JAR itself.
I updated the pom.xml by adding this fat JAR plugin:
org.apache.maven.plugins maven-assembly-plugin 3.1.1 <configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
<mainClass>abc.def.ghi.App</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Further fixed incorrect pom.xml artifactId, based the artifactID in (~/.m2/repository/jade/core/migration/InterPlatformMobilityService/1.5/InterPlatformMobilityService-1.5.pom)
jade.core.migration InterPlatformMobilityService 1.5 system ${JadeAddOnsPath}/migration.jar4) Final commands, were:
mvn install:install-file -Dfile=/root/my/,y/jade/jade/add-ons/ipms/lib/migration.jar -DgroupId=jade.core.migration -DartifactId=InterPlatformMobilityService -Dversion=1.5 -Dpackaging=jar
output snippet:
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ carna_edge_ai ---
[INFO] Installing /root/my/my/jade/jade/add-ons/ipms/lib/migration.jar to /root/.m2/repository/jade/core/migration/InterPlatformMobilityService/1.5/InterPlatformMobilityService-1.5.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.409 s
[INFO] Finished at: 2021-09-09T14:42:31-07:00
[INFO] ------------------------------------------------------------------------
Then build & package JAR:
sudo mvn clean package -DJadeAddOnsPath=/home/azureuser/xyz/my/multi_agents/my_edge_ai/JadeDownload/jade/add-ons/ipms/lib/
output snippet:
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ my_edge_ai ---
[INFO] Building jar: /root/my/my/jade/jade/my_edge_ai/my_edge_ai/target/my_edge_ai-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-assembly-plugin:3.1.1:single (make-assembly) @ my_edge_ai ---
[INFO] Building jar: /root/my/my/jade/jade/my_edge_ai/my_edge_ai/target/my_edge_ai-1.0-SNAPSHOT-jar-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.332 s
[INFO] Finished at: 2021-09-09T14:55:00-07:00
[INFO] ------------------------------------------------------------------------
Final run:
java -jar ./target/my_edge_ai-1.0-SNAPSHOT-jar-with-dependencies.jar 1 main
The program started with no errors or exceptions.
However repeating the same exact steps on the azure Ubuntu server & triple checking paths, again yields:
java.lang.ClassNotFoundException:jade.core.migration.InterPlatformMobilityService
I even tried run the jar using -classpath flag:
sudo java -classpath "/home/azureuser/xyz/my/multi_agents/my_edge_ai/JadeDownload/jade/lib/jade.jar;/home/azureuser/xyz/my/multi_agents/my_edge_ai/JadeDownload/jade/lib/commons-codec/commons-codec-1.3.jar;/home/azureuser/xyz/my/multi_agents/my_edge_ai/JadeDownload/jade/add-ons/ipms/lib/migration.jar" -jar ./target/my_edge_ai-1.0-SNAPSHOT-jar-with-dependencies.jar 1 main
However again (only on remote now):
java.lang.ClassNotFoundException:jade.core.migration.InterPlatformMobilityService
The smoking gun! Finally I checked the contents of the fat JAR,maven is NOT including jade.core.migration.InterPlatformMobilityService in the fat JAR built on remote Ubuntu, but it's including it on local Ubuntu.
SOLVED:
In the remote pom.xml, I changed the InterPlatformMobilityService dependency to use maven local repo rather than pointing to actual file:
jade.core.migration InterPlatformMobilityService 1.5 system ${JadeAddOnsPath}/migration.jar -->Thanks for community support & feedback!
Any more solutions?
Thoughts?
Appreciated
SOLVED:
In the remote pom.xml, I changed the InterPlatformMobilityService dependency to use maven local repo rather than pointing to actual file:
jade.core.migration InterPlatformMobilityService 1.5 system ${JadeAddOnsPath}/migration.jar --> Thanks for community support & feedback!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With