[[_manual_overview]]
== Overview

This guide covers all aspects of Spring Web Flow.
It covers implementing flows in end-user applications and working with the feature set.
It also covers extending the framework and the overall architectural model.

[[_system_requirements]]
=== Web Flow Requirements

* Java 17 or higher.
* Spring Framework 6.0 or higher.

=== Resources

You can ask questions and interact on StackOverflow by using the designated tags.
See https://stackoverflow.com/questions/tagged/spring-webflow[Spring Web Flow at StackOverflow].

You can report bugs and make requests by using the project https://jira.spring.io/projects/SWF[issue tracker].

You can submit pull requests and work with the source code.
See https://github.com/spring-projects/spring-webflow[spring-webflow on GitHub].

[[_jars_mvn_central]]
=== Accessing Web Flow Artifacts from Maven Central

Each jar in the Web Flow distribution is available in the https://search.maven.org[Maven Central Repository].
This lets you easily integrate Web Flow into your application if you already use Maven as the build system for your web development project.

To access Web Flow jars from Maven Central, declare the following dependency in your pom:

====
[source,xml]
----

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>spring-webflow</artifactId>
    <version>x.y.z</version>
</dependency>
----
====

////
If you use JavaServer Faces, declare the following dependency in your pom (includes the `spring-binding` and `spring-webflow` transitive dependencies):

====
[source,xml]
----

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>spring-faces</artifactId>
    <version>x.y.z</version>
</dependency>
----
====
////

=== Accessing Nightly Builds and Milestone Releases

Nightly snapshots of Web Flow development branches are available by using Maven.
These snapshot builds are useful for testing fixes you depend on in advance of the next release and provide a convenient way for you to provide feedback about whether a fix meets your needs.

==== Accessing Snapshots and Milestones with Maven

For milestones and snapshots, you need to use the Spring Snapshot repository.
Add the following repository to your Maven pom.xml:

====
[source,xml]
----

<repository>
    <id>spring</id>
    <name>Spring Repository</name>
    <url>https://repo.spring.io/snapshot</url>
</repository>
----
====

Then you need to declare the following dependency:

====
[source,xml]
----

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>spring-webflow</artifactId>
    <version>x.y.z-SNAPSHOT</version>
</dependency>
----
====

////
Also, if you use JSF, you need to add the following dependency:

====
[source,xml]
----

<dependency>
    <groupId>org.springframework.webflow</groupId>
    <artifactId>spring-faces</artifactId>
    <version>x.y.z.BUILD-SNAPSHOT</version>
</dependency>
----
====
////