<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2010, 2023 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!DOCTYPE chapter [<!ENTITY % ents SYSTEM "jersey.ent"> %ents;]>
<chapter xmlns="http://docbook.org/ns/docbook"
         version="5.0"
         xml:lang="en"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xsi:schemaLocation="http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd
                             http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd"
         xml:id="modules-and-dependencies">
    <title>Modules and dependencies</title>

    <section xml:id="se_compatibility">
        <title>Java SE Compatibility</title>

        <para>
            <emphasis>3.x branch: </emphasis>
            <itemizedlist>
                <listitem>
                    <para>This user guide refers only to version 3 and above of Jersey, its compatibility is described below</para>
                </listitem>
                <listitem>
                    <para>Since version 3.0.0 all Jersey components are compiled with Java SE 1.8 target.
                    It means, that you will need at least Java SE 1.8 to be able to compile and run your application
                        which uses the latest Jersey 3.0.x.
                    Some modules, however, are fully compatible with JDK 11 and above (Jetty modules based on Jetty 11).
                    Some modules (Helidon Connector, Spring 6) require JDK 17.
                    </para>
                </listitem>
                <listitem>
                    <para>Since version 3.1.0 all Jersey components are compiled with Java SE 11 target.
                        It means, that you will need at least Java SE 11 to be able to compile and run your application
                        which uses the latest Jersey 3.1.x.
                        Some modules, however, are fully compatible with JDK 17 and above (Jetty modules based on Jetty 12
                        [since 3.1.4], Helidon Connector, Spring 6).
                    </para>
                </listitem>
                <listitem>
                    <para>
                        Please see <xref linkend="migration"/> for additional compatibility information.
                    </para>
                </listitem>
            </itemizedlist>
        </para>
    </section>
    <section>
        <title>Introduction to Jersey dependencies</title>

        <para>
            Jersey is built, assembled and installed using <link xlink:href="http://maven.apache.org/">Apache Maven</link>.
            Non-snapshot Jersey releases are deployed to the
            <link xlink:href="https://search.maven.org/">Central Maven Repository</link>. Jersey is also being deployed to
            <link xlink:href="https://oss.sonatype.org/">Sonatype Maven repositories</link>, which contain also Jersey SNAPSHOT
            versions. In case you would want to test the latest development builds check out the
            <link xlink:href="https://oss.sonatype.org/content/repositories/snapshots/org/glassfish/jersey">
                Sonatype Snapshots Maven repository</link>.
        </para>

        <para>
            An application that uses Jersey and depends on Jersey modules is in turn required to also include a set
            of 3rd party modules that Jersey modules depend on. Jersey is designed as a pluggable component
            architecture and different applications can therefore require different sets of Jersey modules. This also means that
            a set of external Jersey dependencies required to be included in the application dependencies may vary in each
            application based on the Jersey modules that are being used by the application.
        </para>

        <para>
            Developers using Maven or a Maven-aware build system in their projects are likely to find it easier to include and
            manage dependencies of their applications compared to developers using ant or other build systems that are not
            compatible with Maven. This document will explain to both maven and non-maven developers how to depend on
            Jersey modules in their application. Ant developers are likely to find the
            <link xlink:href="http://maven.apache.org/ant-tasks/index.html">Ant Tasks for Maven</link> very useful.
        </para>
    </section>

    <section xml:id="dependencies">
        <title>Common Jersey Use Cases</title>

        <section xml:id="servlet-app-glassfish">
            <title>Servlet based application on Glassfish</title>
            <para>If you are using Glassfish application server, you don't need to package
                anything with your application, everything is already included. You just need to declare
                (provided) dependency on JAX-RS API to be able to compile your application.
            </para>

            <programlisting language="xml">&lt;dependency&gt;
    &lt;groupId>jakarta.ws.rs&lt;/groupId&gt;
    &lt;artifactId>jakarta.ws.rs-api&lt;/artifactId&gt;
    &lt;version&gt;&jax-rs-api-jar.version;&lt;/version&gt;
    &lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;</programlisting>

            <para>If you are using any Jersey specific feature, you will need to depend on Jersey directly.</para>

            <programlisting language="xml">&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-servlet&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
    &lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
&lt;!-- if you are using Jersey client specific features without the server side --&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.core&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-client&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
    &lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
            </programlisting>
        </section>

        <section xml:id="servlet-app-general">
            <title>Servlet based server-side application</title>
            <para>Following dependencies apply to application server (servlet containers) without any
                integrated JAX-RS implementation. Then application needs to include JAX-RS API and Jersey
                implementation in deployed application.</para>

            <programlisting language="xml">&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-servlet&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;
&lt;!-- Required only when you are using JAX-RS Client --&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.core&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-client&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;</programlisting>
        </section>

        <section xml:id="client-jdk">
            <title>Client application on JDK</title>
            <para>Applications running on plain JDK using only client part of JAX-RS specification need
                to depend only on client. There are various additional modules which can be added, like
                for example grizzly or apache or jetty connector (see dependencies snipped below). Jersey client
                runs by default with plain JDK (using HttpUrlConnection). See <xref linkend="client"/>.
                for more details.
            </para>

            <programlisting language="xml">&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.core&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-client&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;
            </programlisting>

            <para>Currently available connectors:</para>

            <programlisting language="xml">&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.connectors&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-grizzly-connector&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.connectors&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-apache-connector&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.connectory&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-jetty11-connector&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;
<!-- Requires JDK 17+ -->
&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.connectors&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-jetty-connector&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;</programlisting>
        </section>

        <section xml:id="server-jdk">
            <title>Server-side application on supported containers</title>
            <para>Apart for a standard JAX-RS Servlet-based deployment that works with any Servlet container that
                supports Servlet 5 and higher,
                Jersey provides support for programmatic deployment to the following containers: Grizzly 3 (HTTP and Servlet),
                JDK Http server, Simple Http server and Jetty Http server (requires JDK 11+). This chapter presents only
                required maven dependencies,
                more information can be found in <xref linkend="deployment"/>.
            </para>

            <programlisting language="xml">&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-grizzly2-http&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-grizzly2-servlet&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-jdk-http&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-simple-http&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-jetty-http&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
    &lt;groupId&gt;org.glassfish.jersey.containers&lt;/groupId&gt;
    &lt;artifactId&gt;jersey-container-jetty-servlet&lt;/artifactId&gt;
    &lt;version&gt;&version;&lt;/version&gt;
&lt;/dependency&gt;</programlisting>
        </section>
    </section>

    <xi:include href="modules.xml" />
</chapter>
