## About Module Project Templates

See Also

The IDE contains a set of standard project templates for module development. The standard distribution of the IDE contains the following module project templates:

- Module project. Use a module project as the place where you code your module. Module projects implement the module's features and functionality that extend the NetBeans APIs, which you kickstart by using file templates. In addition, module projects include the business logic that integrate the library wrapper module projects into the module. Code housed in module projects also provide the user interface for receiving and processing user input.
- Library Wrapper Module project. Use library wrapper module projects to put one or more library JAR files on a module's classpath. You have to export some or all of the packages as public, or the library wrapper module becomes useless. The wizard that you use to create the library wrapper module project automatically exports as public any packages it finds in the JARs.
- Module Suite project. Use a module suite project to group and deploy a set of interdependent module projects and library wrapper module projects. For rich-client applications, the module suite project is a skeleton application to which you can attach a splash screen, a name for the application's executable, and a title for the application's titlebar.

### Important Files

Module projects, library wrapper module projects, and module suite projects have an Important Files node where the IDE stores the Ant script, `layer.xml` file, and other project data.

The following table lists the highlights of the Important Files node and whether each is found in a module project template, a library wrapper module project template, a module suite project, or all three:

Item | Description | Availability
--- | --- | ---
XML Layer | The System Filesystem registration file (`layer.xml`). You use this file to register new items in the System Filesystem. When you use file-level templates, the IDE automatically registers items for you. For example, when you use the Action wizard, you specify that a Java class should be invoked as a menu item, toolbar button, or keyboard shortcut, and the IDE registers your specification accordingly in the`layer.xml` file. | Module Project
Build Script | The build script called by the IDE. This build script only contains an import statement that imports targets from `nbproject/build-impl.xml`. Use the `build.xml` to override targets from `build-impl.xml` or to create new targets. | All
Module Manifest | The JAR manifest (`MANIFEST.MF`) with sections defining attributes for the module. By default, the `MANIFEST.MF` file created for a module project specifies its version, name, `layer.xml`, localizing bundle, and specification version. | Module Project
Project Metadata | The `project.xml` file. IDE-generated metadata file for specifying module dependencies and classpaths. Although you can edit `project.xml` manually, you generally do not need to. When you use a file-level template to create items, such as actions, the IDE automatically specifies module dependencies required by the item in question. Should you need to specify module dependencies yourself, use the Libraries panel in the project's Project Properties dialog box. | All

See Also
  About NetBeans Platform and Module Development
  About the NetBeans Platform
  About the System Filesystem
  About NetBeans Platform and Module Development
  About XML Layer Files
  Working with Modules
  Module Tasks: Quick Reference

Legal Notices