 


  <!doctype html>
<!--
 Generated by Apache Maven Doxia  at 2021-10-26  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 Dependencies</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-dependencies project-openmeetings-screenshare 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 active">
                <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="" title="Dependencies"  class="dropdown-item active">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">    Last Published: 2021-10-26</li>
        </ol>
    </nav>
                    <a name="Project_Dependencies"></a> 
<section> 
 <div class="page-header">
  <h2 id="project-dependencies">Project Dependencies</h2>
 </div> 
 <a name="Project_Dependencies_compile"></a> 
 <section> 
  <h3 id="compile1">compile</h3> 
  <p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</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>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-classic">logback-classic</a></td> 
     <td>1.2.4</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>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-core</a></td> 
     <td>5.3.11</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> 
   </tbody> 
  </table> 
 </section> 
 <a name="Project_Dependencies_test"></a> 
 <section> 
  <h3 id="test1">test</h3> 
  <p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</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>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>org.junit.jupiter</td> 
     <td><a class="externalLink" href="https://junit.org/junit5/">junit-jupiter-api</a></td> 
     <td>5.8.1</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>org.junit.jupiter</td> 
     <td><a class="externalLink" href="https://junit.org/junit5/">junit-jupiter-engine</a></td> 
     <td>5.8.1</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>org.mockito</td> 
     <td><a class="externalLink" href="https://github.com/mockito/mockito">mockito-inline</a></td> 
     <td>4.0.0</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>org.mockito</td> 
     <td><a class="externalLink" href="https://github.com/mockito/mockito">mockito-junit-jupiter</a></td> 
     <td>4.0.0</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="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-test</a></td> 
     <td>5.3.11</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> 
   </tbody> 
  </table> 
 </section> 
 <a name="Project_Dependencies_provided"></a> 
 <section> 
  <h3 id="provided1">provided</h3> 
  <p>The following is a list of provided dependencies for this project. These dependencies are required to compile the application, 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>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>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> 
   </tbody> 
  </table> 
 </section> 
</section> 
<a name="Project_Transitive_Dependencies"></a> 
<section> 
 <h2 id="project-transitive-dependencies">Project Transitive Dependencies</h2> 
 <p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p> 
 <a name="Project_Transitive_Dependencies_compile"></a> 
 <section> 
  <h3 id="compile2">compile</h3> 
  <p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</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>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-core">logback-core</a></td> 
     <td>1.2.4</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>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">slf4j-api</a></td> 
     <td>1.7.32</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>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-jcl</a></td> 
     <td>5.3.11</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> 
   </tbody> 
  </table> 
 </section> 
 <a name="Project_Transitive_Dependencies_test"></a> 
 <section> 
  <h3 id="test2">test</h3> 
  <p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</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>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>net.bytebuddy</td> 
     <td><a class="externalLink" href="https://bytebuddy.net/byte-buddy">byte-buddy</a></td> 
     <td>1.11.19</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="a"> 
     <td>net.bytebuddy</td> 
     <td><a class="externalLink" href="https://bytebuddy.net/byte-buddy-agent">byte-buddy-agent</a></td> 
     <td>1.11.19</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>org.apiguardian</td> 
     <td><a class="externalLink" href="https://github.com/apiguardian-team/apiguardian">apiguardian-api</a></td> 
     <td>1.1.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="a"> 
     <td>org.junit.platform</td> 
     <td><a class="externalLink" href="https://junit.org/junit5/">junit-platform-commons</a></td> 
     <td>1.8.1</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>org.junit.platform</td> 
     <td><a class="externalLink" href="https://junit.org/junit5/">junit-platform-engine</a></td> 
     <td>1.8.1</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>org.mockito</td> 
     <td><a class="externalLink" href="https://github.com/mockito/mockito">mockito-core</a></td> 
     <td>4.0.0</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="b"> 
     <td>org.objenesis</td> 
     <td><a class="externalLink" href="http://objenesis.org/objenesis">objenesis</a></td> 
     <td>3.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="a"> 
     <td>org.opentest4j</td> 
     <td><a class="externalLink" href="https://github.com/ota4j-team/opentest4j">opentest4j</a></td> 
     <td>1.2.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> 
   </tbody> 
  </table> 
 </section> 
</section> 
<a name="Project_Dependency_Graph"></a> 
<section> 
 <h2 id="project-dependency-graph">Project Dependency Graph</h2> 
 <script language="javascript" type="text/javascript">
      function toggleDependencyDetails( divId, imgId )
      {
        var div = document.getElementById( divId );
        var img = document.getElementById( imgId );
        if( div.style.display == '' )
        {
          div.style.display = 'none';
          img.src='./images/icon_info_sml.gif';
          img.alt='[Information]';
        }
        else
        {
          div.style.display = '';
          img.src='./images/close.gif';
          img.alt='[Close]';
        }
      }
</script> 
 <a name="Dependency_Tree"></a> 
 <section> 
  <h3 id="dependency-tree">Dependency Tree</h3> 
  <ul> 
   <li>org.apache.openmeetings:openmeetings-screenshare:jar:6.2.0 <i class="fas fa-info"></i> 
    <div id="_dep0" style="display:none"> 
     <table border="0" class="bodyTable table table-striped table-hover"> 
      <thead> 
       <tr class="a"> 
        <th>Openmeetings Screen Sharing applet</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr class="b"> 
        <td> <p><b>Description: </b>Module to build OpenMeetings web application to grab a screen and send it to a Server</p> <p><b>URL: </b><a class="externalLink" href="https://openmeetings.apache.org/openmeetings-screenshare">https://openmeetings.apache.org/openmeetings-screenshare</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">The Apache Software License, Version 2.0</a></p></td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
    <ul> 
     <li>ch.qos.logback:logback-classic:jar:1.2.4 (compile) <i class="fas fa-info"></i> 
      <div id="_dep2" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Logback Classic Module</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>logback-classic module</p> <p><b>URL: </b><a class="externalLink" href="http://logback.qos.ch/logback-classic">http://logback.qos.ch/logback-classic</a></p> <p><b>Project Licenses: </b><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></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>ch.qos.logback:logback-core:jar:1.2.4 (compile) <i class="fas fa-info"></i> 
        <div id="_dep4" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Logback Core Module</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>logback-core module</p> <p><b>URL: </b><a class="externalLink" href="http://logback.qos.ch/logback-core">http://logback.qos.ch/logback-core</a></p> <p><b>Project Licenses: </b><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></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.slf4j:slf4j-api:jar:1.7.32 (compile) <i class="fas fa-info"></i> 
        <div id="_dep6" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>SLF4J API Module</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The slf4j API</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.springframework:spring-core:jar:5.3.11 (compile) <i class="fas fa-info"></i> 
      <div id="_dep8" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Spring Core</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Spring Core</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.springframework:spring-jcl:jar:5.3.11 (compile) <i class="fas fa-info"></i> 
        <div id="_dep10" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Spring Commons Logging Bridge</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Spring Commons Logging Bridge</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.junit.jupiter:junit-jupiter-api:jar:5.8.1 (test) <i class="fas fa-info"></i> 
      <div id="_dep12" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>JUnit Jupiter API</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Module "junit-jupiter-api" of JUnit 5.</p> <p><b>URL: </b><a class="externalLink" href="https://junit.org/junit5/">https://junit.org/junit5/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.eclipse.org/legal/epl-v20.html">Eclipse Public License v2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.opentest4j:opentest4j:jar:1.2.0 (test) <i class="fas fa-info"></i> 
        <div id="_dep14" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>org.opentest4j:opentest4j</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Open Test Alliance for the JVM</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/ota4j-team/opentest4j">https://github.com/ota4j-team/opentest4j</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.junit.platform:junit-platform-commons:jar:1.8.1 (test) <i class="fas fa-info"></i> 
        <div id="_dep16" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>JUnit Platform Commons</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Module "junit-platform-commons" of JUnit 5.</p> <p><b>URL: </b><a class="externalLink" href="https://junit.org/junit5/">https://junit.org/junit5/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.eclipse.org/legal/epl-v20.html">Eclipse Public License v2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.apiguardian:apiguardian-api:jar:1.1.2 (test) <i class="fas fa-info"></i> 
        <div id="_dep18" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>org.apiguardian:apiguardian-api</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>@API Guardian</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/apiguardian-team/apiguardian">https://github.com/apiguardian-team/apiguardian</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.junit.jupiter:junit-jupiter-engine:jar:5.8.1 (test) <i class="fas fa-info"></i> 
      <div id="_dep20" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>JUnit Jupiter Engine</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Module "junit-jupiter-engine" of JUnit 5.</p> <p><b>URL: </b><a class="externalLink" href="https://junit.org/junit5/">https://junit.org/junit5/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.eclipse.org/legal/epl-v20.html">Eclipse Public License v2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.junit.platform:junit-platform-engine:jar:1.8.1 (test) <i class="fas fa-info"></i> 
        <div id="_dep22" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>JUnit Platform Engine API</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Module "junit-platform-engine" of JUnit 5.</p> <p><b>URL: </b><a class="externalLink" href="https://junit.org/junit5/">https://junit.org/junit5/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.eclipse.org/legal/epl-v20.html">Eclipse Public License v2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.springframework:spring-test:jar:5.3.11 (test) <i class="fas fa-info"></i> 
      <div id="_dep24" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Spring TestContext Framework</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Spring TestContext Framework</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>org.mockito:mockito-inline:jar:4.0.0 (test) <i class="fas fa-info"></i> 
      <div id="_dep26" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>mockito-inline</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Mockito preconfigured inline mock maker (intermediate and to be superseeded by automatic usage in a future version)</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/mockito/mockito">https://github.com/mockito/mockito</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://github.com/mockito/mockito/blob/main/LICENSE">The MIT License</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.mockito:mockito-core:jar:4.0.0 (test) <i class="fas fa-info"></i> 
        <div id="_dep28" style="display:none"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>mockito-core</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Mockito mock objects library core API and implementation</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/mockito/mockito">https://github.com/mockito/mockito</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://github.com/mockito/mockito/blob/main/LICENSE">The MIT License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>net.bytebuddy:byte-buddy:jar:1.11.19 (test) <i class="fas fa-info"></i> 
          <div id="_dep30" style="display:none"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Byte Buddy (without dependencies)</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Byte Buddy is a Java library for creating Java classes at run time. This artifact is a build of Byte Buddy with all ASM dependencies repackaged into its own name space.</p> <p><b>URL: </b><a class="externalLink" href="https://bytebuddy.net/byte-buddy">https://bytebuddy.net/byte-buddy</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>net.bytebuddy:byte-buddy-agent:jar:1.11.19 (test) <i class="fas fa-info"></i> 
          <div id="_dep32" style="display:none"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Byte Buddy agent</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>The Byte Buddy agent offers convenience for attaching an agent to the local or a remote VM.</p> <p><b>URL: </b><a class="externalLink" href="https://bytebuddy.net/byte-buddy-agent">https://bytebuddy.net/byte-buddy-agent</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>org.objenesis:objenesis:jar:3.2 (test) <i class="fas fa-info"></i> 
          <div id="_dep34" style="display:none"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Objenesis</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>A library for instantiating Java objects</p> <p><b>URL: </b><a class="externalLink" href="http://objenesis.org/objenesis">http://objenesis.org/objenesis</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
      </ul></li> 
     <li>org.mockito:mockito-junit-jupiter:jar:4.0.0 (test) <i class="fas fa-info"></i> 
      <div id="_dep36" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>mockito-junit-jupiter</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Mockito JUnit 5 support</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/mockito/mockito">https://github.com/mockito/mockito</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://github.com/mockito/mockito/blob/main/LICENSE">The MIT License</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>javax.servlet:javax.servlet-api:jar:3.1.0 (provided) <i class="fas fa-info"></i> 
      <div id="_dep38" style="display:none"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Java Servlet API</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Java.net - The Source for Java Technology Collaboration</p> <p><b>URL: </b><a class="externalLink" href="http://servlet-spec.java.net">http://servlet-spec.java.net</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html">CDDL + GPLv2 with classpath exception</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
    </ul></li> 
  </ul> 
 </section> 
</section> 
<a name="Licenses"></a> 
<section> 
 <h2 id="licenses1">Licenses</h2> 
 <p><b>The Apache License, Version 2.0: </b>org.apiguardian:apiguardian-api, org.opentest4j:opentest4j</p> 
 <p><b>MIT License: </b>SLF4J API Module</p> 
 <p><b>The MIT License: </b>mockito-core, mockito-inline, mockito-junit-jupiter</p> 
 <p><b>Apache License, Version 2.0: </b>Byte Buddy (without dependencies), Byte Buddy agent, Objenesis, Spring Commons Logging Bridge, Spring Core, Spring TestContext Framework</p> 
 <p><b>Eclipse Public License v2.0: </b>JUnit Jupiter API, JUnit Jupiter Engine, JUnit Platform Commons, JUnit Platform Engine API</p> 
 <p><b>CDDL + GPLv2 with classpath exception: </b>Java Servlet API</p> 
 <p><b>GNU Lesser General Public License: </b>Logback Classic Module, Logback Core Module</p> 
 <p><b>The Apache Software License, Version 2.0: </b>Openmeetings Screen Sharing applet</p> 
 <p><b>Eclipse Public License - v 1.0: </b>Logback Classic Module, Logback Core Module</p> 
</section> 
<a name="Dependency_File_Details"></a> 
<section> 
 <h2 id="dependency-file-details">Dependency File Details</h2> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <tbody> 
   <tr class="a"> 
    <th>Filename</th> 
    <th>Size</th> 
    <th>Entries</th> 
    <th>Classes</th> 
    <th>Packages</th> 
    <th>Java Version</th> 
    <th title="Indicates whether these dependencies have been compiled with debug information.">Debug Information</th> 
   </tr> 
   <tr class="b"> 
    <td>logback-classic-1.2.4.jar</td> 
    <td>292 kB</td> 
    <td>235</td> 
    <td>176</td> 
    <td>27</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>logback-core-1.2.4.jar</td> 
    <td>472.3 kB</td> 
    <td>419</td> 
    <td>373</td> 
    <td>36</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>javax.servlet-api-3.1.0.jar</td> 
    <td>95.8 kB</td> 
    <td>103</td> 
    <td>79</td> 
    <td>4</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>byte-buddy-1.11.19.jar</td> 
    <td>3.7 MB</td> 
    <td>2619</td> 
    <td>2563</td> 
    <td>38</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>byte-buddy-agent-1.11.19.jar</td> 
    <td>252.3 kB</td> 
    <td>81</td> 
    <td>63</td> 
    <td>2</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>apiguardian-api-1.1.2.jar</td> 
    <td>6.8 kB</td> 
    <td>9</td> 
    <td>3</td> 
    <td>2</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>junit-jupiter-api-5.8.1.jar</td> 
    <td>193.5 kB</td> 
    <td>183</td> 
    <td>168</td> 
    <td>8</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>junit-jupiter-engine-5.8.1.jar</td> 
    <td>229.7 kB</td> 
    <td>140</td> 
    <td>123</td> 
    <td>9</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>junit-platform-commons-1.8.1.jar</td> 
    <td>100.5 kB</td> 
    <td>63</td> 
    <td>43</td> 
    <td>7</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>junit-platform-engine-1.8.1.jar</td> 
    <td>185.8 kB</td> 
    <td>142</td> 
    <td>126</td> 
    <td>9</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>mockito-core-4.0.0.jar</td> 
    <td>667.4 kB</td> 
    <td>652</td> 
    <td>580</td> 
    <td>64</td> 
    <td>1.8</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>mockito-inline-4.0.0.jar</td> 
    <td>1.5 kB</td> 
    <td>6</td> 
    <td>0</td> 
    <td>0</td> 
    <td>-</td> 
    <td>No</td> 
   </tr> 
   <tr class="b"> 
    <td>mockito-junit-jupiter-4.0.0.jar</td> 
    <td>5.4 kB</td> 
    <td>9</td> 
    <td>2</td> 
    <td>1</td> 
    <td>1.8</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>objenesis-3.2.jar</td> 
    <td>49.4 kB</td> 
    <td>59</td> 
    <td>43</td> 
    <td>10</td> 
    <td>1.8</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>opentest4j-1.2.0.jar</td> 
    <td>7.7 kB</td> 
    <td>11</td> 
    <td>7</td> 
    <td>2</td> 
    <td>-</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>slf4j-api-1.7.32.jar</td> 
    <td>41.5 kB</td> 
    <td>46</td> 
    <td>34</td> 
    <td>4</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-core-5.3.11.jar</td> 
    <td>1.5 MB</td> 
    <td>1035</td> 
    <td>976</td> 
    <td>49</td> 
    <td>1.8</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-jcl-5.3.11.jar</td> 
    <td>24.4 kB</td> 
    <td>28</td> 
    <td>17</td> 
    <td>2</td> 
    <td>1.8</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-test-5.3.11.jar</td> 
    <td>786.6 kB</td> 
    <td>559</td> 
    <td>504</td> 
    <td>40</td> 
    <td>1.8</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <th>Total</th> 
    <th>Size</th> 
    <th>Entries</th> 
    <th>Classes</th> 
    <th>Packages</th> 
    <th>Java Version</th> 
    <th>Debug Information</th> 
   </tr> 
   <tr class="b"> 
    <td>19</td> 
    <td>8.6 MB</td> 
    <td>6399</td> 
    <td>5880</td> 
    <td>314</td> 
    <td>1.8</td> 
    <td>18</td> 
   </tr> 
   <tr class="a"> 
    <td>compile: 5</td> 
    <td>compile: 2.3 MB</td> 
    <td>compile: 1763</td> 
    <td>compile: 1576</td> 
    <td>compile: 118</td> 
    <td>-</td> 
    <td>compile: 5</td> 
   </tr> 
   <tr class="b"> 
    <td>test: 13</td> 
    <td>test: 6.2 MB</td> 
    <td>test: 4533</td> 
    <td>test: 4225</td> 
    <td>test: 192</td> 
    <td>-</td> 
    <td>test: 12</td> 
   </tr> 
   <tr class="a"> 
    <td>provided: 1</td> 
    <td>provided: 95.8 kB</td> 
    <td>provided: 103</td> 
    <td>provided: 79</td> 
    <td>provided: 4</td> 
    <td>-</td> 
    <td>provided: 1</td> 
   </tr> 
  </tbody> 
 </table> 
</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-dependencies" title="Project Dependencies">Project Dependencies</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>
        <li class="h2">
        <a class="nav-link" href="#project-transitive-dependencies" title="Project Transitive Dependencies">Project Transitive Dependencies</a>
    </li>
    <ul class="nav flex-column flex-nowrap nav-collapsible">
            <li class="h3">
        <a class="nav-link" href="#compile2" title="compile">compile</a>
    </li>
    <li class="h3">
        <a class="nav-link" href="#test2" title="test">test</a>
    </li>
    </ul>
        <li class="h2">
        <a class="nav-link" href="#project-dependency-graph" title="Project Dependency Graph">Project Dependency Graph</a>
    </li>
    <ul class="nav flex-column flex-nowrap nav-collapsible">
            <li class="h3">
        <a class="nav-link" href="#dependency-tree" title="Dependency Tree">Dependency Tree</a>
    </li>
    </ul>
        <li class="h2">
        <a class="nav-link" href="#licenses1" title="Licenses">Licenses</a>
    </li>
        <li class="h2">
        <a class="nav-link" href="#dependency-file-details" title="Dependency File Details">Dependency File Details</a>
    </li>
                    </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 active"><a  href=""  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-2021
                 <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="../js/site.js" type="text/javascript"></script>        
<p class="text-center">Apache OpenMeetings, OpenMeetings, Apache, the Apache feather, and the Apache OpenMeetings project logo</p>        
<p class="text-center">are trademarks of the Apache Software Foundation.</p>  <script src="../js/reflow-skin.js" crossorigin="anonymous"></script>
    <script src="../js/anchor.min.js" crossorigin="anonymous"></script>
    </body>
</html>
