Sandboxed Application Structure

Application Skeleton Creation

The first step to explore a Sandboxed Application structure is to create a new project.

First select File > New > Sandboxed Application Project:

Fill in the application template fields, the Project name field will automatically duplicate in the following fields.

A template project is automatically created and ready to use, this project already contains all folders wherein developers need to put content:

Folder for future sources;
Folder for future resources (images, fonts, etc.);
Sandboxed Application configuration and resources;
Module description file, dependencies description for the current project.

Sources Folder

The project source folder (src/main) contains two subfolders: java and resources. java folder will contain all *.java files of the project, whereas resources folder will contain elements that the application needs at runtime like raw resources, images or character fonts.


The META-INF folder contains several folders and a manifest file. They are described hereafter.

certificate (folder)
Contains certificate information used during the application deployment.
libraries (folder)
Contains a list of additional libraries useful to the application and not resolved through the regular transitive dependency check.
properties (folder)
Contains an file which contains application specific properties that can be accessed at runtime.
services (folder)
Contains a list of files that describe local services provided by the application. Each file name represents a service class fully qualified name, and each file contains the fully qualified name of the provided service implementation.
wpk (folder)
Contains a set of applications (.wpk files) that will be started when the application is executed on the Simulator.
Contains the information given at project creation, extra information can be added to this file to declare the entry points of the application.

module.ivy File

The module.ivy file describes all the libraries required by the application at runtime. The Ivy classpath container lists all the modules that have been automatically resolved from the content of module.ivy. See MicroEJ Module Manager for more informations about MicroEJ Module Manager.