| type=page | 
 | status=published | 
 | title=Setting Up a Development Environment | 
 | next=class-loaders.html | 
 | prev=part-tasks-and-tools.html | 
 | ~~~~~~ | 
 | Setting Up a Development Environment | 
 | ==================================== | 
 |  | 
 | [[GSDVG00002]][[beaaq]] | 
 |  | 
 |  | 
 | [[setting-up-a-development-environment]] | 
 | 1 Setting Up a Development Environment | 
 | -------------------------------------- | 
 |  | 
 | This chapter gives guidelines for setting up an application development | 
 | environment in the Oracle GlassFish Server. Setting up an environment | 
 | for creating, assembling, deploying, and debugging your code involves | 
 | installing the mainstream version of the GlassFish Server and making use | 
 | of development tools. In addition, sample applications are available. | 
 |  | 
 | The following topics are addressed here: | 
 |  | 
 | * link:#beaar[Installing and Preparing the Server for Development] | 
 | * link:#beaas[High Availability Features] | 
 | * link:#beaat[Development Tools] | 
 | * link:#beabf[Sample Applications] | 
 |  | 
 | [[beaar]][[GSDVG00090]][[installing-and-preparing-the-server-for-development]] | 
 |  | 
 | Installing and Preparing the Server for Development | 
 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 |  | 
 | For more information about GlassFish Server installation, see the | 
 | link:../installation-guide/toc.html#GSING[GlassFish Server Open Source Edition Installation Guide]. | 
 |  | 
 | The following components are included in the full installation. | 
 |  | 
 | * JDK | 
 | * GlassFish Server core | 
 |  | 
 | ** Java Platform, Standard Edition (Java SE) 8 | 
 |  | 
 | ** Java EE 8 compliant application server | 
 |  | 
 | ** Administration Console | 
 |  | 
 | ** `asadmin` utility | 
 |  | 
 | ** Other development and deployment tools | 
 |  | 
 | ** Open Message Queue software | 
 |  | 
 | ** Apache http://db.apache.org/derby/manuals[Derby database] | 
 |  | 
 | ** Load balancer plug-ins for web servers | 
 |  | 
 | The NetBeans Integrated Development Environment (IDE) bundles the | 
 | GlassFish edition of the GlassFish Server, so information about this IDE | 
 | is provided as well. | 
 |  | 
 | After you have installed GlassFish Server, you can further optimize the | 
 | server for development in these ways: | 
 |  | 
 | * Locate utility classes and libraries so they can be accessed by the | 
 | proper class loaders. For more information, see | 
 | link:class-loaders.html#beadj[Using the Common Class Loader]. | 
 | * Set up debugging. For more information, see | 
 | link:debugging-apps.html#beafc[Debugging Applications]. | 
 | * Configure the Virtual Machine for the Java platform (JVM software). | 
 | For more information, see "link:../administration-guide/jvm.html#GSADG00007[Administering the Virtual | 
 | Machine for the Java Platform]" in GlassFish Server Open Source Edition | 
 | Administration Guide. | 
 |  | 
 | [[beaas]][[GSDVG00091]][[high-availability-features]] | 
 |  | 
 | High Availability Features | 
 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 |  | 
 | High availability features such as load balancing and session failover | 
 | are discussed in detail in the link:../ha-administration-guide/toc.html#GSHAG[GlassFish Server Open Source | 
 | Edition High Availability Administration Guide]. This book describes the | 
 | following features in the following sections: | 
 |  | 
 | * For information about HTTP session persistence, see | 
 | link:webapps.html#beahe[Distributed Sessions and Persistence]. | 
 | * For information about checkpointing of the stateful session bean | 
 | state, see link:ejb.html#beaib[Stateful Session Bean Failover]. | 
 | * For information about failover and load balancing for Java clients, | 
 | see link:java-clients.html#beakt[Developing Java Clients]. | 
 | * For information about load balancing for message-driven beans, see | 
 | link:jms.html#beaop[Load-Balanced Message Inflow]. | 
 |  | 
 | [[beaat]][[GSDVG00092]][[development-tools]] | 
 |  | 
 | Development Tools | 
 | ~~~~~~~~~~~~~~~~~ | 
 |  | 
 | The following general tools are provided with the GlassFish Server: | 
 |  | 
 | * link:#beaau[The `asadmin` Command] | 
 | * link:#beaav[The Administration Console] | 
 |  | 
 | The following development tools are provided with the GlassFish Server | 
 | or downloadable from Oracle: | 
 |  | 
 | * link:#beaba[The Migration Tool] | 
 | * link:#beaaw[The NetBeans IDE] | 
 |  | 
 | The following third-party tools might also be useful: | 
 |  | 
 | * link:#beabb[Debugging Tools] | 
 | * link:#beabc[Profiling Tools] | 
 |  | 
 | [[beaau]][[GSDVG00333]][[the-asadmin-command]] | 
 |  | 
 | The `asadmin` Command | 
 | ^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | The `asadmin` command allows you to configure a local or remote server | 
 | and perform both administrative and development tasks at the command | 
 | line. For general information about `asadmin`, see the | 
 | link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source Edition Reference Manual]. | 
 |  | 
 | The `asadmin` command is located in the as-install`/bin` directory. Type | 
 | `asadmin help` for a list of subcommands. | 
 |  | 
 | [[beaav]][[GSDVG00334]][[the-administration-console]] | 
 |  | 
 | The Administration Console | 
 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | The Administration Console lets you configure the server and perform | 
 | both administrative and development tasks using a web browser. For | 
 | general information about the Administration Console, click the Help | 
 | button in the Administration Console. This displays the GlassFish Server | 
 | online help. | 
 |  | 
 | To access the Administration Console, type `http://`host`:4848` in your | 
 | browser. The host is the name of the machine on which the GlassFish | 
 | Server is running. By default, the host is `localhost`. For example: | 
 |  | 
 | [source,oac_no_warn] | 
 | ---- | 
 | http://localhost:4848 | 
 | ---- | 
 |  | 
 | [[beaba]][[GSDVG00337]][[the-migration-tool]] | 
 |  | 
 | The Migration Tool | 
 | ^^^^^^^^^^^^^^^^^^ | 
 |  | 
 | The Migration Tool converts and reassembles Java EE applications and | 
 | modules developed on other application servers. This tool also generates | 
 | a report listing how many files are successfully and unsuccessfully | 
 | migrated, with reasons for migration failure. For more information and | 
 | to download the Migration Tool, see | 
 | `http://java.sun.com/j2ee/tools/migration/index.html`. | 
 |  | 
 | [[beaaw]][[GSDVG00338]][[the-netbeans-ide]] | 
 |  | 
 | The NetBeans IDE | 
 | ^^^^^^^^^^^^^^^^ | 
 |  | 
 | The NetBeans IDE allows you to create, assemble, and debug code from a | 
 | single, easy-to-use interface. The GlassFish edition of the GlassFish | 
 | Server is bundled with the NetBeans 6.1 IDE. To download the NetBeans | 
 | IDE, see `http://www.netbeans.org`. This site also provides | 
 | documentation on how to use the NetBeans IDE with the bundled GlassFish | 
 | edition of the GlassFish Server. | 
 |  | 
 | You can also use the GlassFish Server with the Java Studio Enterprise | 
 | software, which is built on the NetBeans IDE. For more information, see | 
 | `http://developers.sun.com/jsenterprise/`. | 
 |  | 
 | [[beabb]][[GSDVG00340]][[debugging-tools]] | 
 |  | 
 | Debugging Tools | 
 | ^^^^^^^^^^^^^^^ | 
 |  | 
 | You can use several debugging tools with the GlassFish Server. For more | 
 | information, see link:debugging-apps.html#beafc[Debugging Applications]. | 
 |  | 
 | [[beabc]][[GSDVG00341]][[profiling-tools]] | 
 |  | 
 | Profiling Tools | 
 | ^^^^^^^^^^^^^^^ | 
 |  | 
 | You can use several profilers with the GlassFish Server. For more | 
 | information, see link:debugging-apps.html#beafn[Profiling Tools]. | 
 |  | 
 | [[beabf]][[GSDVG00093]][[sample-applications]] | 
 |  | 
 | Sample Applications | 
 | ~~~~~~~~~~~~~~~~~~~ | 
 |  | 
 | Sample applications that you can examine and deploy to the GlassFish | 
 | Server are included as part of the Java EE 8 SDK bundle. The samples are | 
 | also available from `https://github.com/javaee/glassfish-samples`. | 
 |  | 
 | Most GlassFish Server samples have the following directory structure: | 
 |  | 
 | * The `docs` directory contains instructions for how to use the sample. | 
 | * The `pom.xml` file defines Maven targets for the sample. | 
 | * The `src/` directory contains source code for the sample. | 
 |  | 
 |  |