Module Natures

The following table describes the project skeleton name for most common MicroEJ Module Natures.

MicroEJ Module Natures Summary
Module Nature Skeleton Name Direct Wizard
Add-On Library microej-javalib File > New > MicroEJ Add-On Library Project
Mock microej-mock  
Module Repository artifact-repository  
Sandboxed Application application File > New > MicroEJ Sandboxed Application Project
Standalone Application firmware-singleapp File > New > MicroEJ Standalone Application Project

Add-On Library

A MicroEJ Add-On Library is a MicroEJ library that is implemented on top of MicroEJ Foundation Libraries (100% full Java code).

Go to the MicroEJ Libraries section for more details.


A Mock is a jar file containing some Java classes that simulate natives for the Simulator. Mocks allow applications to be run unchanged in the Simulator while still (apparently) interacting with native code.

Go to the Mock section for more details.

Module Repository

A module repository is a module that bundles a set of modules in a portable ZIP file. It is used to contain all the dependencies required to build and package the applications.

Go to the Module Repository section for more details.

Sandboxed Application

A MicroEJ Sandboxed Application is a MicroEJ Application that can run over a Multi-Sandbox Firmware. It can be linked either statically or dynamically. If it is statically linked, it is then called a System Application as it is part of the initial image and cannot be removed.

Go to the Sandboxed Application section for more details.

Standalone Application

A MicroEJ Standalone Application is a MicroEJ Application that is directly linked to the C code to produce a MicroEJ Firmware. Such application must define a main entry point, i.e. a class containing a public static void main(String[]) method.

Go to the Standalone Application section for more details.

MicroEJ Platform Selection

Many modules natures require a MicroEJ Platform for building the module or for running tests.

There are 4 different ways to provide a MicroEJ Platform for a module project:

  • Set the build option to a MicroEJ Platform file (.zip, .jpf or .vde):

  • Set the build option to an already imported Source Platform.

  • Declare a module dependency:

    <dependency org="myorg" name="myname" rev="1.0.0" conf="platform->default" transitive="false"/>
  • Copy a MicroEJ Platform file to the dropins folder. The default dropins folder location is [module_project_dir]/dropins. It can be changed using the build option