<commit_before>---
layout: default
title: CAS - Overlay Installation
---

# WAR Overlay Installation

CAS installation is a fundamentally source-oriented process, and we recommend a
WAR overlay (1) project to organize
customizations such as component configuration and UI design.
The output of a WAR overlay build is a `cas.war` file that can be deployed to a servlet container like
[Apache Tomcat](http://tomcat.apache.org/whichversion.html).

## What is a WAR Overlay?

Overlays are a strategy to combat repetitive code and/or resources. Rather than downloading the CAS codebase and building from source,
overlays allow you to download a pre-built vanilla CAS web application server provided by the project itself and override/insert specific behavior into it.
At build time, the Maven/Gradle installation process will attempt to download the provided binary artifact first. Then the tool will locate your configuration files and settings made available inside the same project directory and will merge those into the downloaded artifact in order to produce
one wholesome archive (i.e. `cas.war`) . Overridden artifacts may include resources, java classes, images, CSS and javascript files. In order for the merge
process is successfully execute, the location and names of the overridden artifacts locally must **EXACTLY** match that of those provided by the project
inside the originally downloaded archive.
<commit_msg>Update Maven-Overlay-Installation.md<commit_after>---
layout: default
title: CAS - Overlay Installation
---

# WAR Overlay Installation

CAS installation is a fundamentally source-oriented process, and we recommend a
WAR overlay (1) project to organize
customizations such as component configuration and UI design.
The output of a WAR overlay build is a `cas.war` file that can be deployed to a servlet container like
[Apache Tomcat](Configuring-Servlet-Container.html).

## What is a WAR Overlay?

Overlays are a strategy to combat repetitive code and/or resources. Rather than downloading the CAS codebase and building from source,
overlays allow you to download a pre-built vanilla CAS web application server provided by the project itself and override/insert specific behavior into it.
At build time, the Maven/Gradle installation process will attempt to download the provided binary artifact first. Then the tool will locate your configuration files and settings made available inside the same project directory and will merge those into the downloaded artifact in order to produce
one wholesome archive (i.e. `cas.war`) . Overridden artifacts may include resources, java classes, images, CSS and javascript files. In order for the merge
process is successfully execute, the location and names of the overridden artifacts locally must **EXACTLY** match that of those provided by the project
inside the originally downloaded archive.

{'fraction_non_alphanumeric': 0.043691017126878715, 'fraction_numerical': 0.0006990562740300594, 'mean_word_length': 4.9625, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3438004', 'n_tokens_mistral': 673, 'n_tokens_neox': 641, 'n_words': 401}