{"id":2991,"date":"2018-03-07T00:00:00","date_gmt":"2018-03-07T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk"},"modified":"2025-06-27T08:49:07","modified_gmt":"2025-06-27T15:49:07","slug":"public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/","title":{"rendered":"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A couple of months back, we announced <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/general-availability-of-app-service-on-linux-and-web-app-for-containers\/\" target=\"_blank\" rel=\"noopener\">the general availability of App Service on Linux<\/a>, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers. Today, we are glad to share the public preview of Java apps on App Service. This release includes <a href=\"https:\/\/aka.ms\/Glbs6q\" target=\"_blank\" rel=\"noopener\">built-in support for Apache Tomcat<\/a> 8.5\/9.0 and OpenJDK 8, making it easy for Java developers to deploy web or API apps to Azure. Just bring your .jar or .war file to <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/app-service\/\" target=\"_blank\" rel=\"noopener\">Azure App Service<\/a> and we\u2019ll take care of the capacity provisioning, server maintenance, and load balancing.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-and-deploy-a-java-web-app-easily\">Create and deploy a Java web app easily<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Creating a Java web app is easy with App Service using our out-of-box support for Tomcat and OpenJDK. You can deploy your .jar or .war file to Azure and get it up and running at scale with just a few clicks. If you have other preferred images such as Jetty or a different JRE, you can also <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/app-service\/containers\/tutorial-custom-docker-image\" target=\"_blank\" rel=\"noopener\">build your own Docker image<\/a> and deploy it to App Service.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s an example of creating a Java web app with a Tomcat image in the portal:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp\" alt=\"Java on App Service\" title=\"Java on App Service\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">App Service integrates well with your favorite code repos, IDEs, and CLI tools. You can deploy from all the places you would expect including git, GitHub, BitBucket, FTP, among others. You can also build and publish apps and deploy to App Service from your favorite Java IDE using the Azure toolkit for <a href=\"https:\/\/docs.microsoft.com\/en-us\/java\/azure\/eclipse\/azure-toolkit-for-eclipse\" target=\"_blank\" rel=\"noopener\">Eclipse<\/a> or <a href=\"https:\/\/docs.microsoft.com\/en-us\/java\/azure\/intellij\/azure-toolkit-for-intellij\" target=\"_blank\" rel=\"noopener\">IntelliJ<\/a> from Windows, macOS, and Linux. Deployments can also be managed via the command line in Linux, macOS, or Windows with the <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/xplat-cli\/\" target=\"_blank\" rel=\"noopener\">Azure Command Line Interface<\/a> (CLI). The CLI runs as a client or in a browser via the <a href=\"https:\/\/portal.azure.com\/\" target=\"_blank\" rel=\"noopener\">Azure portal<\/a> or at <a href=\"https:\/\/shell.azure.com\/\" target=\"_blank\" rel=\"noopener\">shell.azure.com<\/a>. The CLI is even available in the Azure management app on your <a href=\"https:\/\/itunes.apple.com\/us\/app\/my-azure-management\/id826446897?mt=8\" target=\"_blank\" rel=\"noopener\">iPhone<\/a> or <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.microsoft.azure&amp;hl=en\" target=\"_blank\" rel=\"noopener\">Android<\/a> device.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"extensive-support-of-sdks-and-services-for-java-on-azure\">Extensive support of SDKs and services for Java on Azure<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once your Java app is deployed, you can then extend your applications by adding code from the <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-java\" target=\"_blank\" rel=\"noopener\">Azure SDK for Java<\/a> to work with various Azure services such as <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/storage-java-how-to-use-blob-storage\/\" target=\"_blank\" rel=\"noopener\">Storage<\/a>, <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/mysql\/connect-java\" target=\"_blank\" rel=\"noopener\">MySQL Database<\/a>, and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/postgresql\/connect-java\" target=\"_blank\" rel=\"noopener\">PostgreSQL Database<\/a>. You can also get more granular insights into your app by adding agent calls to your application through the <a href=\"https:\/\/azure.microsoft.com\/en-gb\/documentation\/articles\/app-insights-java-get-started\/\" target=\"_blank\" rel=\"noopener\">Application Insights Java SDK<\/a>. Looking for manageable identity services? Use the <a href=\"https:\/\/github.com\/AzureAD\/azure-activedirectory-library-for-java\" target=\"_blank\" rel=\"noopener\">Azure Active Directory Library for Java<\/a> to plug into identity services that run in 80 percent of the world\u2019s enterprises.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These are just a handful examples of SDKs and services available from Azure to boost your productivity and enrich your Java-based web apps. To help you get started, we have dozens of <a href=\"https:\/\/azure.microsoft.com\/en-us\/resources\/samples\/?sort=0\" target=\"_blank\" rel=\"noopener\">code samples<\/a> that use the SDK. All of our SDKs run on Windows, macOS, and Linux and are open sourced and available on <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-java\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"get-started-for-free\">Get started for free<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Get started easily with our <a href=\"https:\/\/azure.microsoft.com\/en-us\/develop\/java\/\" target=\"_blank\" rel=\"noopener\">Java Developer Center<\/a>. You can also review tutorials and guidance on the <a href=\"https:\/\/docs.microsoft.com\/en-us\/java\/azure\/\" target=\"_blank\" rel=\"noopener\">Java documentation hub<\/a>.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A couple of months back, we announced the general availability of App Service on Linux, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1467],"tags":[],"audience":[3055,3056],"content-type":[1465],"product":[2902],"tech-community":[],"topic":[],"coauthors":[927],"class_list":["post-2991","post","type-post","status-publish","format-standard","hentry","category-compute","audience-developers","audience-it-implementors","content-type-announcements","product-app-service","review-flag-1680286581-295","review-flag-5-1680286581-950","review-flag-8-1680286581-263","review-flag-9-1680286581-259","review-flag-free-1680286579-836","review-flag-gener-1680286584-335","review-flag-percent","review-flag-publi-1680286584-566"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Public preview of Java on App Service, built-in support for Tomcat and OpenJDK | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"A couple of months back, we announced the general availability of App Service on Linux, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers. Today, we are glad to\u2026\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"A couple of months back, we announced the general availability of App Service on Linux, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers. Today, we are glad to\u2026\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-07T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-27T15:49:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp\" \/>\n<meta name=\"author\" content=\"Brian Benz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Brian Benz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/brian-benz\/\",\"@type\":\"Person\",\"@name\":\"Brian Benz\"}],\"headline\":\"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK\",\"datePublished\":\"2018-03-07T00:00:00+00:00\",\"dateModified\":\"2025-06-27T15:49:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/\"},\"wordCount\":495,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp\",\"articleSection\":[\"Compute\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/\",\"name\":\"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp\",\"datePublished\":\"2018-03-07T00:00:00+00:00\",\"dateModified\":\"2025-06-27T15:49:07+00:00\",\"description\":\"A couple of months back, we announced the general availability of App Service on Linux, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers. Today, we are glad to\u2026\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compute\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK | Microsoft Azure Blog","description":"A couple of months back, we announced the general availability of App Service on Linux, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers. Today, we are glad to\u2026","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/","og_locale":"en_US","og_type":"article","og_title":"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK | Microsoft Azure Blog","og_description":"A couple of months back, we announced the general availability of App Service on Linux, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers. Today, we are glad to\u2026","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2018-03-07T00:00:00+00:00","article_modified_time":"2025-06-27T15:49:07+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp","type":"","width":"","height":""}],"author":"Brian Benz","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Brian Benz","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/brian-benz\/","@type":"Person","@name":"Brian Benz"}],"headline":"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK","datePublished":"2018-03-07T00:00:00+00:00","dateModified":"2025-06-27T15:49:07+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/"},"wordCount":495,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp","articleSection":["Compute"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/","name":"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp","datePublished":"2018-03-07T00:00:00+00:00","dateModified":"2025-06-27T15:49:07+00:00","description":"A couple of months back, we announced the general availability of App Service on Linux, starting with support for .NET Core, Node.js, Ruby, PHP, and custom Docker containers. Today, we are glad to\u2026","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/03\/19ed4fe5-3e1e-4d27-84d7-d764123fa3c4.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/public-preview-of-java-on-app-service-built-in-support-for-tomcat-and-openjdk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Compute","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/"},{"@type":"ListItem","position":3,"name":"Public preview of Java on App Service, built-in support for Tomcat and OpenJDK"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/2991","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=2991"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/2991\/revisions"}],"predecessor-version":[{"id":44139,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/2991\/revisions\/44139"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=2991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=2991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=2991"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=2991"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=2991"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=2991"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=2991"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=2991"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=2991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}