<!DOCTYPE html>
<html lang="en">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112407000-2"></script>
<script>
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());

    gtag('config', 'UA-112407000-2');
</script>

<!-- Google Tag Manager -->
<script>
    (function (w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-KS8HHSF');
</script>
<!-- End Google Tag Manager -->

<head>
    	<title>Project settings | Codewind</title>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name="description" content="Project settings tell Codewind the specifics of your project and application">
	<meta name="keywords" content="project, settings, Codewind, application, configuring, workspace"/>
	<link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
	<link rel="icon" type="image/png" sizes="32x32" href="images/favicon/favicon-32x32.png">
	<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:300,400,600&display=swap" rel="stylesheet">
	<!-- Bootstrap CSS CDN -->
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
	integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
	<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
	<link rel="stylesheet" href="css/styles.css">
	<link rel="stylesheet" href="css/docs.css">
	<link rel="stylesheet" href="css/learn.css">
	<link rel="stylesheet" href="css/blog.css">
	<link rel="stylesheet" href="css/guides.css">
	<link rel="stylesheet" href="css/search.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/themes/prism.min.css">


</head>

<body data-spy="scroll" data-target="#toc">
    <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KS8HHSF"
        height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
        <!-- End Google Tag Manager (noscript) -->
    <div class="main">
    <!-- Bootstrap NavBar -->
	<nav class="navbar navbar-expand-xl navbar-light cw-banner fixed-top" aria-label="topnav">
    		        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
            data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
            aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <a class="navbar-brand" href="/codewind/">
            <img alt="Codewind logo image"  title="Codewind logo image" src="images/header/header-logo.svg" class="cw-header-logo" alt="">
        </a>
        <div class="collapse navbar-collapse justify-content-end cw-navbar-padding" id="navbarNavDropdown">
            <ul class="navbar-nav cw-navbar-nav">

                <li class="nav-item cw-navbar-item cw-header-link-docs">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="learn.html">Learn</a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link-news">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="news.html">News</a>
                </li>

                <li class="nav-item cw-navbar-item cw-header-link-blog">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="blog.html">Blog</a>
                </li>

                <li class="nav-item cw-navbar-item cw-header-link-guides">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="guides.html">Guides</a>
                </li>

                <form class="form-inline my-2 my-lg-0 cw-navbar-item" action="/codewind/search.html" method="get">
                    <svg class="bi bi-search" width="1em" height="1em" viewBox="0 0 16 16" fill="black" xmlns="http://www.w3.org/2000/svg">
                        <path fill-rule="evenodd" d="M10.442 10.442a1 1 0 011.415 0l3.85 3.85a1 1 0 01-1.414 1.415l-3.85-3.85a1 1 0 010-1.415z" clip-rule="evenodd"/>
                        <path fill-rule="evenodd" d="M6.5 12a5.5 5.5 0 100-11 5.5 5.5 0 000 11zM13 6.5a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z" clip-rule="evenodd"/>
                      </svg>
                    <input id="nav-search" class="form-control mr-sm-2" type="text" id="search-box" name="query" placeholder="Search">
                </form>

                
                
                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  class="banner-image"  title="Codewind Github" data-toggle="tooltip" data-placement="top" id="cw_github_stars" title="..." src="images/header/github.svg"/></a>
                </li>

                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  class="banner-image" title="Codewind Twitter" src="images/header/twitter.png"/></a>
                </li>
                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  class="banner-image"  title="Codewind Mattermost" src="images/header/mattermost.png"/></a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"  class="banner-image" title="Codewind YouTube" src="images/header/youtube.png"/></a>
                </li>


                <!-- li class="nav-item cw-navbar-item" id="download-li">
                    <button onClick="window.location.href='https://microclimate.dev/download/codewind';" type="button" class="btn cw-download-button">Download</button>
                    <a href="https://microclimate.dev/download/codewind" class="nav-link cw-nav-link cw-download-link" href="#">Download</a>
                </li>  -->



                <!-- Smaller devices menu END -->

            </ul>
        </div>

    	</nav>
    	<!-- End Bootstrap NavBar -->
<!-- Bootstrap row -->
<div class="row" id="body-row">
    <div id="sidebar" class="bg-light">
    <button class="btn btn-secondary dropdown-toggle btn-block d-md-none" type="button" id="contents-expander" data-toggle="collapse" aria-haspopup="true" aria-expanded="false" data-target="#sidebar-container">
        Contents
      </button>
    <div id="sidebar-container" class="bg-light" role="navigation" aria-label="sidebar">
        <!-- Bootstrap List Group -->
        <ul class="list-group bg-light">

            

            


            <!-- must be a valid css selector, or will break collapse function -->
            

            <a href="#_getting_started" id="#_getting_started" class="bg-light list-group-item list-group-item-action"
                data-toggle="collapse" aria-expanded="false">
                <div class="d-flex align-items-center">
                    Getting started
                    <span class="submenu-icon"></span>
                </div>
            </a>

            <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_getting_started">

                

                
                <a href="overview.html" class="bg-light list-group-item" data-parent="#_getting_started"
                    data-url="overview.html">What is Codewind?</a>
                

                

                
                <a href="gettingstarted-overview.html" class="bg-light list-group-item" data-parent="#_getting_started"
                    data-url="gettingstarted-overview.html">Getting started - Overview</a>
                

                

                

                

                <a href="#_vs_code" id="#_vs_code" class="bg-light list-group-item list-group-item-action"
                    data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">
                    <div class="d-flex align-items-center">
                        VS Code
                        <span class="submenu-icon"></span>
                    </div>
                </a>

                <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_vs_code">

                    
                    <a href="vsc-getting-started.html" class="bg-light list-group-item" data-parent="#_vs_code"
                        data-url="vsc-getting-started.html">1. Installing Codewind for VS Code</a>
                    
                    <a href="vsc-firstproject.html" class="bg-light list-group-item" data-parent="#_vs_code"
                        data-url="vsc-firstproject.html">2. Creating your first Codewind project with Codewind for VS Code</a>
                    
                    <a href="vsc-codechange.html" class="bg-light list-group-item" data-parent="#_vs_code"
                        data-url="vsc-codechange.html">3. Making a code change with VS Code</a>
                    
                    <a href="vsc-uninstall.html" class="bg-light list-group-item" data-parent="#_vs_code"
                        data-url="vsc-uninstall.html">4. Uninstalling Codewind for VS Code</a>
                    
                </div>
                

                

                

                

                <a href="#_eclipse" id="#_eclipse" class="bg-light list-group-item list-group-item-action"
                    data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">
                    <div class="d-flex align-items-center">
                        Eclipse
                        <span class="submenu-icon"></span>
                    </div>
                </a>

                <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_eclipse">

                    
                    <a href="eclipse-getting-started.html" class="bg-light list-group-item" data-parent="#_eclipse"
                        data-url="eclipse-getting-started.html">1. Installing Codewind for Eclipse</a>
                    
                    <a href="eclipse-firstproject.html" class="bg-light list-group-item" data-parent="#_eclipse"
                        data-url="eclipse-firstproject.html">2. Creating your first Codewind project with Codewind for Eclipse</a>
                    
                    <a href="eclipse-codechange.html" class="bg-light list-group-item" data-parent="#_eclipse"
                        data-url="eclipse-codechange.html">3. Making a code change with Eclipse</a>
                    
                    <a href="eclipse-uninstall.html" class="bg-light list-group-item" data-parent="#_eclipse"
                        data-url="eclipse-uninstall.html">4. Uninstalling Codewind for Eclipse</a>
                    
                </div>
                

                

                

                

                <a href="#_intellij" id="#_intellij" class="bg-light list-group-item list-group-item-action"
                    data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">
                    <div class="d-flex align-items-center">
                        IntelliJ
                        <span class="submenu-icon"></span>
                    </div>
                </a>

                <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_intellij">

                    
                    <a href="intellij-getting-started.html" class="bg-light list-group-item" data-parent="#_intellij"
                        data-url="intellij-getting-started.html">1. Installing Codewind for IntelliJ</a>
                    
                    <a href="intellij-firstproject.html" class="bg-light list-group-item" data-parent="#_intellij"
                        data-url="intellij-firstproject.html">2. Creating your first Codewind project with Codewind for IntelliJ</a>
                    
                    <a href="intellij-codechange.html" class="bg-light list-group-item" data-parent="#_intellij"
                        data-url="intellij-codechange.html">3. Making a code change with IntelliJ</a>
                    
                </div>
                

                
            </div>
            

            

            
            <a href="remote-deploying-codewind.html"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-url="remote-deploying-codewind.html">
                Deploying Codewind remotely
            </a>
            

            

            


            <!-- must be a valid css selector, or will break collapse function -->
            

            <a href="#_using_codewind_remotely" id="#_using_codewind_remotely" class="bg-light list-group-item list-group-item-action"
                data-toggle="collapse" aria-expanded="false">
                <div class="d-flex align-items-center">
                    Using Codewind remotely
                    <span class="submenu-icon"></span>
                </div>
            </a>

            <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_using_codewind_remotely">

                

                
                <a href="remote-codewind-overview.html" class="bg-light list-group-item" data-parent="#_using_codewind_remotely"
                    data-url="remote-codewind-overview.html">1. Overview: Using Codewind remotely</a>
                

                

                

                

                <a href="#_2_connecting_your_ide_to_remote_codewind" id="#_2_connecting_your_ide_to_remote_codewind" class="bg-light list-group-item list-group-item-action"
                    data-toggle="collapse" data-parent="#_using_codewind_remotely" aria-expanded="false">
                    <div class="d-flex align-items-center">
                        2. Connecting your IDE to remote Codewind
                        <span class="submenu-icon"></span>
                    </div>
                </a>

                <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_2_connecting_your_ide_to_remote_codewind">

                    
                    <a href="remotedeploy-vscode.html" class="bg-light list-group-item" data-parent="#_2_connecting_your_ide_to_remote_codewind"
                        data-url="remotedeploy-vscode.html">Connecting VS Code to remote Codewind</a>
                    
                    <a href="remotedeploy-eclipse.html" class="bg-light list-group-item" data-parent="#_2_connecting_your_ide_to_remote_codewind"
                        data-url="remotedeploy-eclipse.html">Connecting Eclipse to remote Codewind</a>
                    
                </div>
                

                

                
                <a href="remote-setupregistries.html" class="bg-light list-group-item" data-parent="#_using_codewind_remotely"
                    data-url="remote-setupregistries.html">3. Adding an image registry in remote Codewind</a>
                

                

                

                

                <a href="#_4_creating_and_importing_projects" id="#_4_creating_and_importing_projects" class="bg-light list-group-item list-group-item-action"
                    data-toggle="collapse" data-parent="#_using_codewind_remotely" aria-expanded="false">
                    <div class="d-flex align-items-center">
                        4. Creating and importing projects
                        <span class="submenu-icon"></span>
                    </div>
                </a>

                <div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_4_creating_and_importing_projects">

                    
                    <a href="remotedeploy-projects-vscode.html" class="bg-light list-group-item" data-parent="#_4_creating_and_importing_projects"
                        data-url="remotedeploy-projects-vscode.html">VS Code</a>
                    
                    <a href="remotedeploy-projects-eclipse.html" class="bg-light list-group-item" data-parent="#_4_creating_and_importing_projects"
                        data-url="remotedeploy-projects-eclipse.html">Eclipse</a>
                    
                </div>
                

                
            </div>
            

            

            


            <!-- must be a valid css selector, or will break collapse function -->
            

            <a href="#_using_codewind_on_eclipse_che" id="#_using_codewind_on_eclipse_che" class="bg-light list-group-item list-group-item-action"
                data-toggle="collapse" aria-expanded="false">
                <div class="d-flex align-items-center">
                    Using Codewind on Eclipse Che
                    <span class="submenu-icon"></span>
                </div>
            </a>

            <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_using_codewind_on_eclipse_che">

                

                
                <a href="che-installinfo.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                    data-url="che-installinfo.html">1. Installing Eclipse Che for Codewind</a>
                

                

                
                <a href="che-setupregistries.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                    data-url="che-setupregistries.html">2. Adding an image registry in Codewind on Eclipse Che</a>
                

                

                
                <a href="che-createcodewindworkspace.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                    data-url="che-createcodewindworkspace.html">3. Creating a Codewind workspace in Eclipse Che</a>
                

                

                
                <a href="che-createfirstproject.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                    data-url="che-createfirstproject.html">4. Creating your first Codewind project with Codewind for Eclipse Che</a>
                

                

                
                <a href="che-codechange.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                    data-url="che-codechange.html">5. Making a code change with Codewind for Eclipse Che</a>
                

                

                
                <a href="che-uninstall.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
                    data-url="che-uninstall.html">6. Uninstalling Codewind for Eclipse Che</a>
                

                
            </div>
            

            

            
            <a href="che-odo-support.html"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-url="che-odo-support.html">
                OpenShift Do (odo) support in Codewind
            </a>
            

            

            
            <a href="workingwithtemplates.html"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-url="workingwithtemplates.html">
                Working with templates
            </a>
            

            

            


            <!-- must be a valid css selector, or will break collapse function -->
            

            <a href="#_developing_projects" id="#_developing_projects" class="bg-light list-group-item list-group-item-action"
                data-toggle="collapse" aria-expanded="false">
                <div class="d-flex align-items-center">
                    Developing projects
                    <span class="submenu-icon"></span>
                </div>
            </a>

            <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_developing_projects">

                

                
                <a href="checkingstatuses.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="checkingstatuses.html">Understanding application and build statuses</a>
                

                

                
                <a href="importing-existing-projects.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="importing-existing-projects.html">Importing existing projects</a>
                

                

                
                <a href="project-actions.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="project-actions.html">Project actions</a>
                

                

                
                <a href="project-settings.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="project-settings.html">Project settings</a>
                

                

                
                <a href="referencing-files.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="referencing-files.html">Referencing files external to a project</a>
                

                

                
                <a href="openshiftregistry.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="openshiftregistry.html">Adding the OpenShift internal registry with Codewind</a>
                

                

                
                <a href="private-registries.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="private-registries.html">Developing with packages from private registries and repositories</a>
                

                

                
                <a href="linking-your-projects.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="linking-your-projects.html">Linking your projects</a>
                

                

                
                <a href="offline-codewind.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="offline-codewind.html">Using Codewind offline</a>
                

                

                
                <a href="debugging.html" class="bg-light list-group-item" data-parent="#_developing_projects"
                    data-url="debugging.html">Debugging in Codewind</a>
                

                
            </div>
            

            

            


            <!-- must be a valid css selector, or will break collapse function -->
            

            <a href="#_performance_monitoring" id="#_performance_monitoring" class="bg-light list-group-item list-group-item-action"
                data-toggle="collapse" aria-expanded="false">
                <div class="d-flex align-items-center">
                    Performance monitoring
                    <span class="submenu-icon"></span>
                </div>
            </a>

            <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_performance_monitoring">

                

                
                <a href="metrics-dashboard.html" class="bg-light list-group-item" data-parent="#_performance_monitoring"
                    data-url="metrics-dashboard.html">Understanding the Metrics Dashboard</a>
                

                

                
                <a href="performance.html" class="bg-light list-group-item" data-parent="#_performance_monitoring"
                    data-url="performance.html">Monitoring applications with the Performance Dashboard</a>
                

                
            </div>
            

            

            


            <!-- must be a valid css selector, or will break collapse function -->
            

            <a href="#_openapi_tools" id="#_openapi_tools" class="bg-light list-group-item list-group-item-action"
                data-toggle="collapse" aria-expanded="false">
                <div class="d-flex align-items-center">
                    OpenAPI Tools
                    <span class="submenu-icon"></span>
                </div>
            </a>

            <div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_openapi_tools">

                

                
                <a href="open-api-tools-for-vscode.html" class="bg-light list-group-item" data-parent="#_openapi_tools"
                    data-url="open-api-tools-for-vscode.html">Codewind OpenAPI Tools for VS Code</a>
                

                

                
                <a href="open-api-tools-for-eclipse.html" class="bg-light list-group-item" data-parent="#_openapi_tools"
                    data-url="open-api-tools-for-eclipse.html">Codewind OpenAPI Tools for Eclipse</a>
                

                
            </div>
            

            

            
            <a href="che-tektonpipelines.html"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-url="che-tektonpipelines.html">
                Configuring Codewind for Tekton pipelines
            </a>
            

            

            
            <a href="troubleshooting.html"
                class="bg-light list-group-item list-group-item-action flex-column align-items-start"
                data-url="troubleshooting.html">
                Troubleshooting
            </a>
            

            

        </ul>
        <!-- List Group END-->
    </div>
</div>
    <!-- MAIN -->
    <div id="content-container">
        <div class="py-5 px-5">
            <div role="main"><h1 id="project-settings">Project settings</h1>

<p>Project settings tell Codewind more about the specifics of your project and can affect the status or behavior of your application. Project settings can be configured from the <code class="highlighter-rouge">Project Overview</code> page that is accessible from a project’s context menu. You can also find the project settings in the <code class="highlighter-rouge">.cw-settings</code> file of the project, which you can edit from the IDE. The workspace automatically picks up changes to these fields.</p>

<p>Supported project settings include:</p>
<ul>
  <li><a href="#context-root">Context root</a></li>
  <li><a href="#health-check-endpoint">Health check endpoint</a></li>
  <li><a href="#https-application">HTTPS application</a></li>
  <li><a href="#internal-application-port">Internal application port</a></li>
  <li><a href="#internal-debug-port">Internal debug port</a></li>
  <li><a href="#maven-profiles">Maven profiles</a></li>
  <li><a href="#maven-properties">Maven properties</a></li>
  <li><a href="#paths-to-ignore-for-file-changes">Paths to ignore for file changes</a></li>
  <li><a href="#project-status-ping-timeout">Project status ping timeout</a></li>
</ul>

<h2 id="context-root">Context root</h2>
<p><code class="highlighter-rouge">contextRoot: &lt;string&gt;</code></p>
<ul>
  <li>Codewind uses the value to determine the project state.</li>
  <li>When the Open Application action is used, it uses the value as the initial endpoint.</li>
  <li>If an incorrect context root is set, the project continuously pings the wrong endpoint, keeping the project stuck in the starting state.</li>
  <li>If the health check endpoint is set, the context root is not used to determine the project state.</li>
  <li>If the value is not set, the default value is <code class="highlighter-rouge">/</code>.</li>
</ul>

<h2 id="health-check-endpoint">Health check endpoint</h2>
<p><code class="highlighter-rouge">healthCheck: &lt;string&gt;</code></p>
<ul>
  <li>Codewind uses the value to determine the project state.</li>
  <li>Codewind expects to use this value for the application health check endpoint.</li>
  <li>If a wrong health check endpoint is set, the project continuously pings the wrong endpoint, keeping the project stuck in the starting state.</li>
  <li>If the health check endpoint is set, the context root is not used to determine the project state.</li>
  <li>If the value is not set, the default value is <code class="highlighter-rouge">/</code>.</li>
</ul>

<h2 id="https-application">HTTPS application</h2>
<p><code class="highlighter-rouge">isHttps: &lt;boolean&gt;</code></p>
<ul>
  <li>This value tells Codewind to use the HTTPS protocol when Codewind detects the application status, and also when Codewind launches the application in a browser.</li>
  <li>If your application supports HTTPS, set <code class="highlighter-rouge">isHttps</code> to <code class="highlighter-rouge">true</code>, and Codewind uses HTTPS instead of HTTP to detect the application status and to open browser URLs.</li>
  <li>The default value of this setting is <code class="highlighter-rouge">false</code>.</li>
</ul>

<h2 id="internal-application-port">Internal application port</h2>
<p><code class="highlighter-rouge">internalPort: &lt;string&gt;</code></p>
<ul>
  <li>Codewind gets the port from the container information, so by default, the port is the same as the one exposed in Dockerfile.</li>
  <li>Codewind uses the value in conjunction with the context root to determine the project state.</li>
  <li>If an incorrect port is set, the project continuously pings the wrong endpoint, keeping the project stuck in the starting state.</li>
</ul>

<h2 id="internal-debug-port">Internal debug port</h2>
<p><code class="highlighter-rouge">internalDebugPort: &lt;string&gt;</code></p>
<ul>
  <li>Only applicable to MicroProfile, Spring, and Node.js projects.</li>
  <li>Only applicable to a local installation of Codewind.</li>
  <li>Can be assigned to a non-exposed port, then Codewind helps expose the port for you.</li>
  <li>If the project is already in debug mode, restart the project in debug mode in order to pick up the new debug port.</li>
  <li>If the project is in run mode, the next restart picks up and uses the new debug port and completes a debug mode.</li>
</ul>

<h2 id="maven-profiles">Maven profiles</h2>
<p><code class="highlighter-rouge">mavenProfiles: &lt;string[]&gt;</code></p>
<ul>
  <li>Only applicable to MicroProfile and Spring projects.</li>
  <li>Set a list of profiles if your project requires to use additional Maven profiles when Codewind issues Maven commands.</li>
  <li>Do not overwrite nor remove the profile.</li>
  <li>Maven profiles can be used in conjunction with Maven properties.</li>
</ul>

<h2 id="maven-properties">Maven properties</h2>
<p><code class="highlighter-rouge">mavenProperties: &lt;string[]&gt;</code></p>
<ul>
  <li>Only for MicroProfile and Spring projects.</li>
  <li>Use the form <code class="highlighter-rouge">key=value</code> to enter Maven properties.</li>
  <li>Do not overwrite the property.</li>
  <li>Maven properties can be used in conjunction with Maven profiles.</li>
</ul>

<h2 id="paths-to-ignore-for-file-changes">Paths to ignore for file changes</h2>
<p><code class="highlighter-rouge">ignoredPaths: &lt;string[]&gt;</code></p>
<ul>
  <li>A list of file paths that indicate a build must be triggered on file change events in relation to the paths.</li>
  <li>Each item is expected to be a regex (<code class="highlighter-rouge">"*/node_modules*"</code> ) or a path relative to the project’s root directory (<code class="highlighter-rouge">"/README.md"</code>).</li>
</ul>

<h2 id="project-status-ping-timeout">Project status ping timeout</h2>
<p><code class="highlighter-rouge">statusPingTimeout: &lt;string&gt;</code></p>
<ul>
  <li>This value is the total number of pings used by Codewind to determine if the project has timeout issues during the starting state.</li>
  <li>Each ping takes 2 seconds. For example, if the value is set to 30 seconds, the timeout is 60 seconds.</li>
  <li>If the value is not set, the default value is set to <code class="highlighter-rouge">90</code> (3 minutes) for Appsody projects and <code class="highlighter-rouge">30</code> (1 minute) for all other project types.</li>
</ul>
</div>
        </div>

        <div class="py-5 px-5 text-right">
            Last update: Jun 19, 2020
        </div>

    </div>
</div>
<!-- footer row -->
<footer>

<div id="footer-div-mobile">
        
        <div class="row">
	        <div class="col-sm-12 text-center">
		        <span>Useful Links:</span>
		        <br/><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
		    </div>
        </div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        
        <div class="cw_footer_display_icons row">
    		<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email"  title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  title="Codewind Github" src="images/footer/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"  title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    
                    <a href="http://www.eclipse.org"><img class="cw-logo-eclipse-mobile" alt="Eclipse"  title="Eclipse" src="images/footer/eclipse.svg"/></a>
                </div>
            </div>
        </div>
        </div>
        
		</div>
		
    </div>
    
    
    <div class="row cw-footer-desktop" id="footer-div">
        <div class="cw-footer-left">
        		<div class="px-5 cw-font-12>
	        <span class="cw-font-14">Useful Links:</span>
	        <br/><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
	        </div>
	        
        </div>
        <div class="cw-footer-border-right"></div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        <div class="cw_footer_display_icons">
    		<div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email"  title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter"  title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="Codewind Github"  title="Codewind Github" src="images/footer/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center">
            <div class="cw-logo-mm" >
                <div class="cw-logo-mm" >
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost"  title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube"   title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        </div>
        
		</div>
		<div class="cw-footer-border-right"></div>
		<div class="cw-footer-right cw-footer-same-height cw-footer-vcenter">
		<div class="cw-footer-eclipse-img cw-footer-same-height px-5 ">
	        
		<a href="http://www.eclipse.org">
		<img alt="Eclipse"  title="Eclipse" src="images/footer/eclipse.svg"/>
		</a>
	        </div>
		</div>
    </div>
</footer>
<!-- footer row END -->
<!-- Main Col END -->
<!-- Jquery -->
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
</script>



<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
</script>


<!-- Font Awesome JS -->
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/solid.js"
    integrity="sha384-tzzSw1/Vo+0N5UhStP3bvwWPq+uvzCMfrN1fEFe+xBmv1C/AtVX5K0uZtmcHitFZ" crossorigin="anonymous">
</script>
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js"
    integrity="sha384-6OIrr52G08NpOFSZdxxz1xdNSndlD4vdcf/q2myIUVO0VsqaGHJsB0RaBE01VTOY" crossorigin="anonymous">
</script>


<script src="js/jquery.matchHeight-min.js"></script>
<script src="js/index.js"></script>
<script src="js/docs.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-docker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-json.min.js"></script>

</div>
</body>

</html>



<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.2.0/anchor.min.js"></script>
<script>
    $(document).ready(function () {

        anchors.options.placement = 'left';
        anchors.add('h1');
        anchors.add('h2');
        anchors.add('h3');
        anchors.add('h4');
    });
</script>