{"id":19331363,"url":"https://github.com/andriykalashnykov/tomcat-root-war","last_synced_at":"2025-04-22T23:31:52.494Z","repository":{"id":69428986,"uuid":"256559537","full_name":"AndriyKalashnykov/tomcat-root-war","owner":"AndriyKalashnykov","description":"Java Web Application example to replace Tomcat's default ROOT application","archived":false,"fork":false,"pushed_at":"2025-03-19T23:16:48.000Z","size":2586,"stargazers_count":6,"open_issues_count":0,"forks_count":61,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-18T23:46:01.101Z","etag":null,"topics":["java","jetty","jsp","maven","root","tomcat","travis-ci","war"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndriyKalashnykov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-17T16:50:13.000Z","updated_at":"2025-03-19T23:16:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"c138720c-fb09-4400-ba6f-5c6bc1da8ea8","html_url":"https://github.com/AndriyKalashnykov/tomcat-root-war","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriyKalashnykov%2Ftomcat-root-war","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriyKalashnykov%2Ftomcat-root-war/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriyKalashnykov%2Ftomcat-root-war/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndriyKalashnykov%2Ftomcat-root-war/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndriyKalashnykov","download_url":"https://codeload.github.com/AndriyKalashnykov/tomcat-root-war/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250340312,"owners_count":21414520,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jetty","jsp","maven","root","tomcat","travis-ci","war"],"created_at":"2024-11-10T02:39:48.409Z","updated_at":"2025-04-22T23:31:52.036Z","avatar_url":"https://github.com/AndriyKalashnykov.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Maven](https://github.com/AndriyKalashnykov/tomcat-root-war/actions/workflows/build.yml/badge.svg)](https://github.com/AndriyKalashnykov/tomcat-root-war/actions/workflows/build.yml)\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FAndriyKalashnykov%2Ftomcat-root-war\u0026count_bg=%2333CD56\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://hits.seeyoufarm.com)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n# Java Web Application example\n\nROOT.war replaces Tomcat's default ROOT application - $TOMCAT_HOME/webapps/ROOT\n\n## Pre-requisites\n\n* [sdkman](https://sdkman.io/install)\n\n    Install and use JDK 18\n\n    ```bash\n    sdk install java 18.0.2-tem\n    sdk use java 18.0.2-tem\n    ```\n* [Apache Maven](https://maven.apache.org/install.html)\n\n  Install Apache Maven 3.9.9\n\n    ```bash\n    sdk install maven 3.9.9\n    sdk use maven 3.9.9\n    ```\n* [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n\n## Test with Jetty web server\n\n```shell\ngit clone git@github.com:AndriyKalashnykov/tomcat-root-war.git\ncd tomcat-root-war\nmvn clean package jetty:run\n\nxdg-open http://localhost:8080/index.html\n```\n\nAccess http://localhost:8080/index.html or see [Tomcat ROOT WAR Web Application UI](https://github.com/AndriyKalashnykov/tomcat-root-war/blob/master/README.md#java-web-application-ui)\n\n## Create WAR file\n\n```shell\ngit clone git@github.com:AndriyKalashnykov/tomcat-root-war.git\ncd tomcat-root-war\nmvn clean install\n```\n\n### Building WAR in a Secure environmets that enforce SSL\n\n```shell\nmvn clean install -Daether.connector.https.securityMode=insecure -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true\n```\n\n## List content of generated WAR file\n\n```shell\njar tf ./target/ROOT.war\n```\n## Replace TOMCAT ROOT application\n\nEdit `$TOMCAT_HOME/conf/server.xml`: `autoDeploy` and `deployOnStartUp` needs to be set to `false`\n\n```xml\n\u003cHost name=\"localhost\"  appBase=\"webapps\" unpackWARs=\"true\" autoDeploy=\"false\" deployOnStartUp=\"false\"\u003e\n```\n\nRemove default ROOT folder and copy ROOT.war\n```shell\nrm -rf $TOMCAT_HOME/webapps/ROOT/\nrm -f $TOMCAT_HOME/webapps/ROOT.war\ncp ./target/ROOT.war $TOMCAT_HOME/webapps/ROOT.war\n```\n\n### Tomcat ROOT WAR Web Application UI\n\nDefault welcome page -  [http://localhost:8080/](http://localhost:8080/)\n![index.html](images/http-8080-root.png)\n\nJSP - [http://localhost:8080/index.jsp](http://localhost:8080/index.jsp)\n![infoservlet](images/http-8080-index-jsp.png)\n\nServlet - [http://localhost:8080/infoservlet](http://localhost:8080/infoservlet)\n![infoservlet](images/http-8080-infoservlet.png)\n\nHTML - [http://localhost:8080/index.html](http://localhost:8080/index.html)\n![infoservlet](images/http-8080-index-html.png)\n\n## This project used in\n* [Java Web Application (WAR) deployed as root \"/\" context onto Customized Bitnami Tomcat 9](https://github.com/AndriyKalashnykov/bitnami-tomcat9-jdk18-root-war)\n* [Docker image of this application deployed onto Customized Bitnami Tomcat 9](https://hub.docker.com/r/andriykalashnykov/bitnami-tomcat9-jdk18-root-war)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandriykalashnykov%2Ftomcat-root-war","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandriykalashnykov%2Ftomcat-root-war","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandriykalashnykov%2Ftomcat-root-war/lists"}