 


  <!doctype html>
<!--
 Generated by Apache Maven Doxia  at $dateFormat.format( $currentDate )  Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">
        <head>
    <meta charset="UTF-8" />
    <title>Apache OpenMeetings Project &#x2013; Project Dependency Management</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="" />
      <meta http-equiv="content-language" content="en" />
                                                        <link href="../css/themes/cerulean/bootstrap.min.css" rel="stylesheet" />
    <link href="../css/fontawesome/all.min.css" rel="stylesheet" />
    <link href="../css/reflow-skin.css" rel="stylesheet" />
    
    <link rel="stylesheet" href="../js/styles/github.min.css" />

    <link href="../css/lightbox.css" rel="stylesheet" />
    <link href="../css/site.css" rel="stylesheet" />
    <link href="../css/print.css" rel="stylesheet" media="print" />
<link rel="stylesheet" href="../css/site.css"/>
        </head> <!-- end : head -->
<body class="page-dependency-management project-openmeetings-install anchorjs-enabled scrolltop-smooth-enabled m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
    <nav id="m-top-navbar" class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary">
<div class="container">            <a class="navbar-brand mb-0 h1" href="../index.html">
            <span class="color-highlight">Apache</span> OpenMeetings
            </a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#top-navbar-collapse-1" aria-controls="top-navbar-collapse-1" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="top-navbar-collapse-1">
                <ul class="nav navbar-nav ml-auto">
                    <li class="nav-item " ><a  href="../demo.html"  title="Demo"  class="nav-link" >Demo</a></li>
                    <li class="nav-item " ><a  href="../downloads.html"  title="Download"  class="nav-link" >Download</a></li>
                    <li class="nav-item " ><a  href="https://cwiki.apache.org/confluence/display/OPENMEETINGS"  title="Wiki"   class="externalLink nav-link" >Wiki</a></li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Parent Project <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="../index.html" title="Openmeetings"  class="dropdown-item ">Openmeetings</a>
                        </div>
                    </li>
                    <li class="nav-item dropdown">
                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Project <b class="caret"></b></a>
                        <div class="dropdown-menu">
                            <a href="index.html" title="About"  class="dropdown-item ">About</a>
                            <a href="project-info.html" title="Info"  class="dropdown-item ">Info</a>
                            <a href="summary.html" title="Summary"  class="dropdown-item ">Summary</a>
                            <a href="https://www.apache.org/licenses/" title="License"  class="dropdown-item ">License</a>
                            <a href="dependencies.html" title="Dependencies"  class="dropdown-item ">Dependencies</a>
                            <a href="dependency-convergence.html" title="Dependency Convergence"  class="dropdown-item ">Dependency Convergence</a>
                            <a href="rat-report.html" title="RAT Report"  class="dropdown-item ">RAT Report</a>
                        </div>
                    </li>
                </ul><!--/ul.navbar-nav -->
            </div><!--/.nav-collapse -->
</div> <!--/.container -->    </nav> <!--/.navbar -->
    <div class="main-body">
    <div class="header text-light bg-secondary" role="main">
        <div class="container container-fluid">
    <div id="banner" class="header--banner">
        <div class="row m-1">
          <div class="col-md-12">
            <div class="float-left header--banner--left bannerLeft">
                    <a href="../index.html">
            <img class="float-left m-2 img-fluid" src="../images/logo.png" alt="Apache OpenMeetings" />
            </a>
            </div>
            <div class="float-right header--banner--right bannerRight">
                    <a href="https://apache.org">
            <img class="float-left m-2 img-fluid" src="https://apache.org/img/asf_logo.png" alt="Apache" />
            </a>
            </div>
          </div>
        </div>
    </div>
        </div>
    </div> <!-- end : header -->
    <div class="row mt-5">
        <div class="d-xs-none d-sm-none d-md-none d-lg-block col-lg-2">
        </div>
        <main class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-8" role="main">
    <nav aria-label="breadcrumb">
        <ol class="breadcrumb">
            <li class="publishDate version-date">$dateFormat.applyPattern( $format )    $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</li>
        </ol>
    </nav>
                    <section> 
 <div class="page-header">
  <h2 id="project-dependency-management">Project Dependency Management</h2>
 </div> 
 <a name="Project_Dependency_Management"></a> 
 <section> 
  <h3 id="compile1">compile</h3> 
  <a name="compile"></a> 
  <p>The following is a list of compile dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run the submodule:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>License</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td align="left">ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-classic">logback-classic</a></td> 
     <td>1.2.11</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>, <a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">com.github.caldav4j</td> 
     <td><a class="externalLink" href="https://github.com/caldav4j/caldav4j.git">caldav4j</a></td> 
     <td>1.0.5</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">com.googlecode.wicket-jquery-ui</td> 
     <td><a class="externalLink" href="https://github.com/sebfz1/wicket-jquery-ui/wicket-jquery-ui">wicket-jquery-ui</a></td> 
     <td>9.8.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">com.googlecode.wicket-jquery-ui</td> 
     <td><a class="externalLink" href="https://github.com/sebfz1/wicket-jquery-ui/wicket-jquery-ui-calendar">wicket-jquery-ui-calendar</a></td> 
     <td>9.8.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">com.googlecode.wicket-jquery-ui</td> 
     <td><a class="externalLink" href="https://github.com/sebfz1/wicket-jquery-ui/wicket-jquery-ui-core">wicket-jquery-ui-core</a></td> 
     <td>9.8.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">com.googlecode.wicket-jquery-ui</td> 
     <td><a class="externalLink" href="https://github.com/sebfz1/wicket-jquery-ui/wicket-jquery-ui-plugins">wicket-jquery-ui-plugins</a></td> 
     <td>9.8.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">com.h2database</td> 
     <td><a class="externalLink" href="https://h2database.com">h2</a></td> 
     <td>2.1.212</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.mozilla.org/en-US/MPL/2.0/">MPL 2.0</a>, <a class="externalLink" href="https://opensource.org/licenses/eclipse-1.0.php">EPL 1.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">com.microsoft.sqlserver</td> 
     <td><a class="externalLink" href="https://github.com/Microsoft/mssql-jdbc">mssql-jdbc</a></td> 
     <td>10.2.0.jre11</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">com.oracle.database.jdbc</td> 
     <td><a class="externalLink" href="https://www.oracle.com/database/technologies/maven-central-guide.html">ojdbc10</a></td> 
     <td>19.14.0.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.oracle.com/downloads/licenses/oracle-free-license.html">Oracle Free Use Terms and Conditions (FUTC)</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">com.sun.mail</td> 
     <td><a class="externalLink" href="http://eclipse-ee4j.github.io/mail/jakarta.mail">jakarta.mail</a></td> 
     <td>2.0.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-2.0">EPL 2.0</a>, <a class="externalLink" href="https://www.gnu.org/software/classpath/license.html">GPL2 w/ CPE</a>, <a class="externalLink" href="http://www.eclipse.org/org/documents/edl-v10.php">EDL 1.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">com.thoughtworks.xstream</td> 
     <td><a class="externalLink" href="http://x-stream.github.io/xstream">xstream</a></td> 
     <td>1.4.19</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://x-stream.github.io/license.html">BSD-3-Clause</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">commons-cli</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-cli/">commons-cli</a></td> 
     <td>1.5.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">commons-codec</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-codec/">commons-codec</a></td> 
     <td>1.15</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">commons-io</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-io/">commons-io</a></td> 
     <td>2.11.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">de.agilecoders.wicket</td> 
     <td><a class="externalLink" href="https://github.com/l0rdn1kk0n/wicket-bootstrap/wicket-bootstrap-extensions">wicket-bootstrap-extensions</a></td> 
     <td>6.0.0-M6</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">de.agilecoders.wicket</td> 
     <td><a class="externalLink" href="https://github.com/l0rdn1kk0n/wicket-bootstrap/wicket-bootstrap-themes">wicket-bootstrap-themes</a></td> 
     <td>6.0.0-M6</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">io.prometheus</td> 
     <td><a class="externalLink" href="http://github.com/prometheus/client_java/simpleclient_servlet">simpleclient_servlet</a></td> 
     <td>0.15.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">io.swagger.core.v3</td> 
     <td><a class="externalLink" href="https://github.com/swagger-api/swagger-core/modules/swagger-annotations">swagger-annotations</a></td> 
     <td>2.2.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">javax.sip</td> 
     <td><a class="externalLink" href="http://code.google.com/p/jain-sip/">jain-sip-ri</a></td> 
     <td>1.2.307</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.gnu.org/licenses/license-list.html#PublicDomain">Public Domain</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">mysql</td> 
     <td><a class="externalLink" href="http://dev.mysql.com/doc/connector-j/en/">mysql-connector-java</a></td> 
     <td>8.0.29</td> 
     <td>jar</td> 
     <td>The GNU General Public License, v2 with FOSS exception</td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.commons</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-collections/">commons-collections4</a></td> 
     <td>4.4</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.commons</td> 
     <td><a class="externalLink" href="https://commons.apache.org/dbcp/">commons-dbcp2</a></td> 
     <td>2.9.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.commons</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-lang/">commons-lang3</a></td> 
     <td>3.12.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.commons</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-pool/">commons-pool2</a></td> 
     <td>2.11.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.commons</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-text">commons-text</a></td> 
     <td>1.9</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.cxf</td> 
     <td><a class="externalLink" href="https://cxf.apache.org/cxf-rt-features-logging">cxf-rt-features-logging</a></td> 
     <td>3.5.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.cxf</td> 
     <td><a class="externalLink" href="https://cxf.apache.org">cxf-rt-frontend-jaxrs</a></td> 
     <td>3.5.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.cxf</td> 
     <td><a class="externalLink" href="https://cxf.apache.org">cxf-rt-frontend-jaxws</a></td> 
     <td>3.5.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.cxf</td> 
     <td><a class="externalLink" href="https://cxf.apache.org">cxf-rt-rs-client</a></td> 
     <td>3.5.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.cxf</td> 
     <td><a class="externalLink" href="https://cxf.apache.org">cxf-rt-rs-extension-providers</a></td> 
     <td>3.5.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.cxf</td> 
     <td><a class="externalLink" href="https://cxf.apache.org">cxf-rt-rs-service-description</a></td> 
     <td>3.5.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.directory.api</td> 
     <td><a class="externalLink" href="https://directory.apache.org/api-parent/api-all/">api-all</a></td> 
     <td>2.1.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.maven.plugin-tools</td> 
     <td><a class="externalLink" href="https://maven.apache.org/plugin-tools/maven-plugin-annotations">maven-plugin-annotations</a></td> 
     <td>3.6.4</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.openjpa</td> 
     <td><a class="externalLink" href="http://openjpa.apache.org/openjpa">openjpa</a></td> 
     <td>3.2.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-core">openmeetings-core</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-db">openmeetings-db</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-install">openmeetings-install</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-screenshare">openmeetings-screenshare</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-service">openmeetings-service</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-util">openmeetings-util</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-web">openmeetings-web</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.openmeetings</td> 
     <td><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-webservice">openmeetings-webservice</a></td> 
     <td>6.3.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.tika</td> 
     <td><a class="externalLink" href="https://tika.apache.org/">tika-core</a></td> 
     <td>2.4.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.tika</td> 
     <td><a class="externalLink" href="https://tika.apache.org/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/">tika-parsers-standard-package</a></td> 
     <td>2.4.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-auth-roles">wicket-auth-roles</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-core">wicket-core</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-devutils">wicket-devutils</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-extensions">wicket-extensions</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-ioc">wicket-ioc</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-native-websocket/wicket-native-websocket-core">wicket-native-websocket-core</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-native-websocket/wicket-native-websocket-javax">wicket-native-websocket-javax</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-spring">wicket-spring</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-util">wicket-util</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.aspectj</td> 
     <td><a class="externalLink" href="https://www.eclipse.org/aspectj/">aspectjtools</a></td> 
     <td>1.9.9.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt">Eclipse Public License - v 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.asteriskjava</td> 
     <td><a class="externalLink" href="https://github.com/asterisk-java/asterisk-java">asterisk-java</a></td> 
     <td>3.29.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.bouncycastle</td> 
     <td><a class="externalLink" href="https://www.bouncycastle.org/java.html">bcprov-jdk15on</a></td> 
     <td>1.70</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.bouncycastle.org/licence.html">Bouncy Castle Licence</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.codehaus.jettison</td> 
     <td><a class="externalLink" href="https://github.com/jettison-json/jettison">jettison</a></td> 
     <td>1.4.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.dom4j</td> 
     <td><a class="externalLink" href="http://dom4j.github.io/">dom4j</a></td> 
     <td>2.1.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://github.com/dom4j/dom4j/blob/master/LICENSE">BSD 3-clause New License</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.glassfish.jaxb</td> 
     <td><a class="externalLink" href="https://eclipse-ee4j.github.io/jaxb-ri/">jaxb-runtime</a></td> 
     <td>2.3.5</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/org/documents/edl-v10.php">Eclipse Distribution License - v 1.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.jodconverter</td> 
     <td><a class="externalLink" href="http://jodconverter.org">jodconverter-local</a></td> 
     <td>4.4.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.kurento</td> 
     <td><a class="externalLink" href="https://www.kurento.org/docs/6.16.5/kurento-client">kurento-client</a></td> 
     <td>6.16.5</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.mnode.ical4j</td> 
     <td><a class="externalLink" href="http://ical4j.github.io">ical4j</a></td> 
     <td>4.0.0-alpha11</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://raw.githubusercontent.com/ical4j/ical4j/master/LICENSE.txt">BSD-3-Clause</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.postgresql</td> 
     <td><a class="externalLink" href="https://jdbc.postgresql.org">postgresql</a></td> 
     <td>42.3.5</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://jdbc.postgresql.org/about/license.html">BSD-2-Clause</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.quartz-scheduler</td> 
     <td><a class="externalLink" href="http://www.quartz-scheduler.org/quartz">quartz</a></td> 
     <td>2.3.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">log4j-over-slf4j</a></td> 
     <td>1.7.36</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software Licenses</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">slf4j-api</a></td> 
     <td>1.7.36</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-aop</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-context</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-context-support</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-core</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-orm</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-tx</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-web</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-webmvc</a></td> 
     <td>5.3.20</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.webjars</td> 
     <td><a class="externalLink" href="http://webjars.org">font-awesome</a></td> 
     <td>6.1.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.webjars</td> 
     <td><a class="externalLink" href="http://webjars.org">jasny-bootstrap</a></td> 
     <td>3.1.3-2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License v2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.webjars</td> 
     <td><a class="externalLink" href="http://webjars.org">jquery-ui-touch-punch</a></td> 
     <td>0.2.3-2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://opensource.org/licenses/MIT">MIT License</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.wicketstuff</td> 
     <td><a class="externalLink" href="http://wicketstuff.org/jqplot-parent/jqplot">jqplot</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.wicketstuff</td> 
     <td><a class="externalLink" href="http://wicketstuff.org/wicketstuff-dashboard-parent/wicketstuff-dashboard-core">wicketstuff-dashboard-core</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.wicketstuff</td> 
     <td><a class="externalLink" href="http://wicketstuff.org/datastores-parent/wicketstuff-datastore-hazelcast">wicketstuff-datastore-hazelcast</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.wicketstuff</td> 
     <td><a class="externalLink" href="http://wicketstuff.org/wicketstuff-select2-parent/wicketstuff-select2">wicketstuff-select2</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.wicketstuff</td> 
     <td><a class="externalLink" href="https://github.com/Horsed/WicketUrlFragment/wicketstuff-urlfragment">wicketstuff-urlfragment</a></td> 
     <td>9.10.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://opensource.org/licenses/MIT">MIT License</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </section> 
 <section> 
  <h3 id="test1">test</h3> 
  <a name="test"></a> 
  <p>The following is a list of test dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run unit tests for the submodule:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>License</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td align="left">org.apache.directory.server</td> 
     <td><a class="externalLink" href="https://directory.apache.org/apacheds/1.5/apacheds-test-framework">apacheds-test-framework</a></td> 
     <td>2.0.0.AM26</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.apache.tomcat.embed</td> 
     <td><a class="externalLink" href="https://tomcat.apache.org/">tomcat-embed-websocket</a></td> 
     <td>9.0.62</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.junit.jupiter</td> 
     <td><a class="externalLink" href="https://junit.org/junit5/">junit-jupiter-engine</a></td> 
     <td>5.8.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.eclipse.org/legal/epl-v20.html">Eclipse Public License v2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.junit.jupiter</td> 
     <td><a class="externalLink" href="https://junit.org/junit5/">junit-jupiter-params</a></td> 
     <td>5.8.2</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.eclipse.org/legal/epl-v20.html">Eclipse Public License v2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td align="left">org.mockito</td> 
     <td><a class="externalLink" href="https://github.com/mockito/mockito">mockito-inline</a></td> 
     <td>4.5.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://github.com/mockito/mockito/blob/main/LICENSE">The MIT License</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">org.mockito</td> 
     <td><a class="externalLink" href="https://github.com/mockito/mockito">mockito-junit-jupiter</a></td> 
     <td>4.5.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://github.com/mockito/mockito/blob/main/LICENSE">The MIT License</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </section> 
 <section> 
  <h3 id="provided1">provided</h3> 
  <a name="provided"></a> 
  <p>The following is a list of provided dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile the submodule, but should be provided by default when using the library:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>License</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td align="left">javax.servlet</td> 
     <td><a class="externalLink" href="http://servlet-spec.java.net">javax.servlet-api</a></td> 
     <td>3.1.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html">CDDL + GPLv2 with classpath exception</a></td> 
    </tr> 
    <tr class="a"> 
     <td align="left">javax.websocket</td> 
     <td><a class="externalLink" href="http://websocket-spec.java.net">javax.websocket-api</a></td> 
     <td>1.1</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://glassfish.java.net/public/CDDL+GPL_1_1.html">Dual license consisting of the CDDL v1.1 and GPL v2</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </section> 
</section>        </main>
        <div class="d-none d-sm-none d-md-none d-lg-none d-xl-block col-xl-2">
            <div id="m-toc-sidebar" class="d-print-none m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
                <nav id="m-toc-sidebar-nav flex-column">
                <ul class="m-nav--sidebar nav flex-column flex-nowrap">
    <li class="h2">
        <a class="nav-link" href="#project-dependency-management" title="Project Dependency Management">Project Dependency Management</a>
    </li>
    <ul class="nav flex-column flex-nowrap nav-collapsible">
            <li class="h3">
        <a class="nav-link" href="#compile1" title="compile">compile</a>
    </li>
    <li class="h3">
        <a class="nav-link" href="#test1" title="test">test</a>
    </li>
    <li class="h3">
        <a class="nav-link" href="#provided1" title="provided">provided</a>
    </li>
    </ul>
                    </ul>
                </nav>
           </div>
        </div>
    </div> <!-- row: end -->
</div> <!-- .main-body: end -->
    <div id="m_scrolltop" class="m-scrolltop">
		<i class="fa fa-arrow-up"></i>
    </div>
  <!-- Footer -->
<footer class="footer-light bg-light">
    <div class="container">
        <div class="row">
                        <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
Parent Project
                    </li>
                    <li class="nav-item "><a  href="../index.html"  title="Openmeetings"  class="nav-link" >Openmeetings</a></li>
                </ul>
            </div>
            <div class="col bottom-nav">
                <ul class="nav flex-column nav-list">
                    <li class="nav-header">
Project
                    </li>
                    <li class="nav-item "><a  href="index.html"  title="About"  class="nav-link" >About</a></li>
                    <li class="nav-item "><a  href="project-info.html"  title="Info"  class="nav-link" >Info</a></li>
                    <li class="nav-item "><a  href="summary.html"  title="Summary"  class="nav-link" >Summary</a></li>
                    <li class="nav-item "><a  href="https://www.apache.org/licenses/"  title="License"   class="externalLink nav-link" >License</a></li>
                    <li class="nav-item "><a  href="dependencies.html"  title="Dependencies"  class="nav-link" >Dependencies</a></li>
                    <li class="nav-item "><a  href="dependency-convergence.html"  title="Dependency Convergence"  class="nav-link" >Dependency Convergence</a></li>
                    <li class="nav-item "><a  href="rat-report.html"  title="RAT Report"  class="nav-link" >RAT Report</a></li>
                </ul>
            </div>
        </div> <!-- END: .row -->
    </div> <!-- END: .container -->
</footer>
  <div class="container subfooter text-center">
    <div class="row">
      <div class="col-md-12">
        <p class="copyright">Copyright &copy;2012-${currentYear}
                 <a href="https://apache.org">Apache Software Foundation</a>
. All Rights Reserved.</p>
      </div>
    </div>
  </div>

  <!-- Le javascript
  ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
    <script src="../js/jquery.min.js" crossorigin="anonymous"></script>
    <script src="../js/popper.min.js" crossorigin="anonymous"></script>
    <script src="../js/bootstrap.min.js" crossorigin="anonymous"></script>

  <script src="../js/lightbox.min.js" crossorigin="anonymous"></script>
            	<script src="../js/highlight.min.js" crossorigin="anonymous"></script>
                    
<script src="https://www.apachecon.com/event-images/snippet.js"></script>        
<script src="../js/site.js" type="text/javascript"></script>        
<div class="text-center">Apache OpenMeetings, OpenMeetings, Apache, the Apache feather, and the Apache OpenMeetings project logo</div>        
<div class="text-center">are trademarks of the Apache Software Foundation.</div>        
<div class="text-center">
  <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a>
</div>  <script src="../js/reflow-skin.js" crossorigin="anonymous"></script>
    <script src="../js/anchor.min.js" crossorigin="anonymous"></script>
    </body>
</html>
