Deploying Java applications with Elastic Beanstalk - AWS Elastic Beanstalk

Deploying Java applications with Elastic Beanstalk

This chapter provides instructions for configuring and deploying your Java applications to AWS Elastic Beanstalk. Elastic Beanstalk makes it easy to deploy, manage, and scale your Java web applications using Amazon Web Services.

You can deploy your application in just a few minutes using the Elastic Beanstalk Command Line Interface (EB CLI) or by using the Elastic Beanstalk console. After you deploy your Elastic Beanstalk application, you can continue to use the EB CLI to manage your application and environment, or you can use the Elastic Beanstalk console, AWS CLI, or the APIs.

Follow the QuickStart for Java for step-by-step instructions to create and deploy a Hello World Java web application with the EB CLI. If you're interested in step-by-step instructions to create a simple Hello World Java JSP application to deploy with the EB CLI to our Tomcat based platform, try the QuickStart for Java on Tomcat.

The Java platform branches

AWS Elastic Beanstalk supports two platforms for Java applications.

  • Tomcat – A platform based on Apache Tomcat, an open source web container for applications that use Java servlets and JavaServer Pages (JSPs) to serve HTTP requests. Tomcat facilitates web application development by providing multithreading, declarative security configuration, and extensive customization. Elastic Beanstalk has platform branches for each of Tomcat's current major versions. For more information, see The Tomcat platform.

  • Java SE – A platform for applications that don't use a web container, or use one other than Tomcat, such as Jetty or GlassFish. You can include any library Java Archives (JARs) used by your application in the source bundle that you deploy to Elastic Beanstalk. For more information, see The Java SE platform.

Recent branches of both the Tomcat and Java SE platforms are based on Amazon Linux 2 and later, and use Corretto—the AWS Java SE distribution. The names of these platform branches include the word Corretto instead of Java.

For a list of current platform versions, see Tomcat and Java SE in the AWS Elastic Beanstalk Platforms guide.

AWS tools

AWS provides several tools for working with Java and Elastic Beanstalk. Regardless of the platform branch that you choose, you can use the AWS SDK for Java to use other AWS services from within your Java application. The AWS SDK for Java is a set of libraries that allow you to use AWS APIs from your application code without writing the raw HTTP calls from scratch.

If you prefer to manage your applications from the command line, install the Elastic Beanstalk Command Line Interface (EB CLI) and use it to create, monitor, and manage your Elastic Beanstalk environments. If you run multiple environments for your application, the EB CLI integrates with Git to let you associate each of your environments with a different Git branch.