Standard Java Plugin
Build as a standard Java JAR
Plugin classes should be placed in a package name starting with “org.joget”. (OEM release package are allowed to specify other package names)
Make JAR available in the Java classpath (e.g., place it under WEB-INF/lib or application server lib folder).
Requires restarting the JVM for deployment or changes.
May cause library version conflicts with base libraries or other plugins.
Easier to develop and test using normal Java classes and libraries.
Dynamic OSGi Plugin
Build as an OSGi (Open Services Gateway initiative framework) JAR bundle.
Deploy JAR using the Manage Plugins in the Web Console.
Supports dynamic loading/unloading/reloading without restarting.
Runs in isolated mode, preventing library version conflict with base libraries or other plugins.
More difficult to develop and test due to OSGi configuration and isolation.
Technology powering this structure: Apache Felix.