Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Run your first Java EE application with JBoss EAP 7 Beta

January 25, 2016
Thomas Qvarnström
Related products:
Red Hat JBoss Enterprise Application Platform

Share:

    This article describes how efficient development is on JBoss EAP 7. It will also give example of different build tools  and Integrated Development Environments (IDEs) to use for application development on JBoss EAP 7. Additionally it will briefly explain how dependency management[1] works for Java EE 7 and JBoss EAP specific artifacts.

    Finally there is a step-by-step guide that demonstrates how fast and efficient it is to develop on JBoss EAP 7.

    If you don't like to read such a long article you can also watch the 7 min screen cast. Just grab a coffee and sit back and relax while I'll talk you through how to run your first Java EE application using JBoss EAP 7 Beta.

    [1]=I will cover dependency management in more detail in a future article.

    Build tools

    Today the most common build tool for Java and Java EE development is Maven. Maven is also the preferred tool for building applications for JBoss EAP 7, both the quickstarts and the example application that are provided use maven. Additionally JBoss EAP 7 ships with Maven plugins that can deploy and undeploy your application as well as configure JBoss EAP 7 using the CLI commands. This makes it possible to automatically deploy not only an applications, but also configuration to a running instance of JBoss EAP 7. For example as part of you project you may configure a datasource or a JMS queue.

    Which build tool a developer or organization use depends on external factors like, environment, complexity, previous experience, and personal preferences. JBoss EAP does not mandate a particular build tool and as long as it supports Java and can produce valid Java EE artifacts such as Java Archives, Web Archives, etc it can be used to build applications for JBoss EAP.

    Example on other popular build tools are Ant and Gradle. Optionally Ant users may also use Ivy to manage dependencies.

    Integrated Development Environment

    The choice of Integrated Development Environment, if any, also depends on external factors. IDE's typically has built-in tools for syntax checks, unit testing, and starting and stopping an Application Server like JBoss EAP. The really smart IDE's also provides features like LiveReload, which automatically reloads the application when a resource that is part of the application is updated. Red Hat provides a free IDE called JBoss Developer Studio which is based on Eclipse and has powerful features for developing on JBoss EAP 7.

    Examples on other commonly used IDEs for developing on JBoss EAP are:

    • Eclipse for Java EE Developers
    • IntelliJ from JetBrains
    • NetBeans.

    Dependency Management

    When building Java Applications developers typically use different frameworks and libraries that provides additional features. This is especially true for Java EE development. In an ideal world all Java EE application would use only the APIs that are provided as part of the Java EE standard. And since JBoss EAP 7 is a certified Java EE 7 platform any application build using the Java EE 7 standard are supported. However in reality developers sometimes have to use other third-party frameworks or proprietary APIs. For a developer it may be hard to know which libraries and version that are supported as part of JBoss EAP. Therefor it's recommended to use the maven repository that Red Hat provides.

    The maven repository for JBoss EAP 7 is provided both online, where dependencies are downloaded at build time, or as downloadable ZIP files that can be saved locally or in a hosted maven repository. To access the online repository go to http://maven.repository.redhat.com. Please note that for JBoss EAP 7 Beta the maven repository is hosted under the early access repository.

    For an example on how to use the online repository see the quickstarts that is provided with JBoss EAP 7.

    Step-by-step

    1. Install required Software

    For more details check out https://developers.redhat.com/blog/2016/01/20/screen-cast-getting-started-with-jboss-eap-7-beta/

    Required software:

    • Java Development Kit (OpenJDK or Oracle JDK is recommended)
    • JBoss Enterprise Appication Server 7 Beta
    • JBoss Developer Studio 9.0 or later

    2. Import a the Kitchensink quickstart project

    After starting JBoss Developer studio import the Kitchensink quickstart project by right clicking in the project explorer and select Import -> Import.

     

    Type maven in the filter text input and select Existing Maven Projects`

    And browse to where you have unzipped the quickstart and select the Kitchensink sub directory. Click OK and click Finish`.

    3. Change and deploy the application

    After the project has been imported we can use the Open Resource view (Navigate -> Open Resource or CMD+SHIFT+R on a Mac) and search for index.xhtml.

     

    On this page change the title, Save it and then right-click on the project and select Run As -> Run on Server.

     

    If you don't have a server configured you will have to add it. See the video for details on how to add the server.

    After only a few seconds the server will start.

    To verify that it works we can open the application in an Internal Web Browser directly in JBoss Developer Studio by right clicking on the Deployment in the Server View and select Show In -> Web Browser.

    Show In -> Web Browser

    Now the application is displayed in the intern web browser in JBoss Developer Studio so the developer doesn't even have to leave the IDE to verify that change.

    4. Live Reload

    If a developer does hundreds or even thousands of changes in a day even a couple of seconds to test and verify quickly adds up to allot of wasted time waiting for deployment. JBoss Developer Studio has a feature called Live Reload that automatically pushes any changed resources directly to JBoss EAP making it possible to verify immediately.

    To enable LiveReload, right click on the deployment in the server view and select  Show In -> Web Browser via LiveReload Server.

    Show In -> Web Browser via LiveReload Server

    Summary

    To summarize JBoss EAP 7 is a very flexible application server and combined with a IDE like JBoss Developer Studio Java EE 7 development becomes super efficient.

    For more information about JBoss EAP 7 please visit https://developers.redhat.com/products/eap/overview and for more information about JBoss Developer Studio please visit https://developers.redhat.com/products/codeready-studio/overview

     

     

    Last updated: January 17, 2023

    Recent Posts

    • Meet the Red Hat Node.js team at PowerUP 2025

    • How to use pipelines for AI/ML automation at the edge

    • What's new in network observability 1.8

    • LLM Compressor: Optimize LLMs for low-latency deployments

    • How to set up NVIDIA NIM on Red Hat OpenShift AI

    What’s up next?

     

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue