Java Reference
In-Depth Information
IDEA
version 5.0 comes with two new module types:
J2ME
modules and IntelliJ
Plugin modules. A
J2ME
module is a module suited for working on micro appli-
cations (such as for mobile technologies), and an IntelliJ Plugin module provides
you with a correctly configured module for developing your own
IDEA
extensions.
4.1.3
Selecting a project structure
Because it's the module that defines a set of source files, a typical project must be
composed of at least one module (you can create a project with no modules, but
it's useless until the first module is added). For many projects, a single module is
all you need. For more complex projects, especially
J2EE
projects or software
suites composed of several discrete applications, a multi-module structure is
more convenient. Separate modules let you build and test each piece separately
while maintaining a common configuration. You obtain three primary benefits
from breaking your project into modules:
Reusability and sharing of modules between projects
■
Improved project structure
■
Module specific features
■
One benefit of the
IDEA
's modular projects is that a module can be shared among
several projects if the need arises. Take, for example, a collection of utility classes
that you'd like to share among several different types of projects. By putting them
into their own module, you can easily add it to your other projects while main-
taining the ability to develop it independently.
Modules can be built, tested, and versioned independently, so they're a great
way to reduce the complexity of large projects. You can choose to compile and test
a single module for example, without waiting on the rest of the application to be
built. In addition, you can take a single module from many in a complex project
and place it into a second project by itself, allowing you to remove the overhead
and distraction of the larger project.
Modules in
IDEA
come in several different flavors, each designed with a par-
ticular type of application in mind. These application-specific modules extend
the capabilities of
IDEA
to support new types of applications and to assist in their
development and deployment. Web modules offer one-click deployment,
whereas the
J2EE
module packages your application into an
EAR
file. No doubt
future releases and third-party extensions to
IDEA
will add new types of modules.