This is an automated email from the ASF dual-hosted git repository.
lprimak pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shiro-site.git
The following commit(s) were added to refs/heads/main by this push:
new 41944ca86 docs: update Jakarta EE documentation to clarify dependency
chain applicability and versioning fixes #219
41944ca86 is described below
commit 41944ca860969c2c701a72c6add2f161e372cdcd
Author: lprimak <[email protected]>
AuthorDate: Tue Jan 13 17:48:24 2026 -0600
docs: update Jakarta EE documentation to clarify dependency chain
applicability and versioning
fixes #219
---
src/site/content/dependency-chain.adoc | 47 ++++++++++++++++----------------
src/site/content/jakarta-ee.adoc | 50 +++++++++++++++++++++-------------
src/site/templates/menu.ftl | 1 +
3 files changed, 56 insertions(+), 42 deletions(-)
diff --git a/src/site/content/dependency-chain.adoc
b/src/site/content/dependency-chain.adoc
index 117627bad..0bae58aee 100644
--- a/src/site/content/dependency-chain.adoc
+++ b/src/site/content/dependency-chain.adoc
@@ -8,6 +8,14 @@
Managing Apache Shiro dependencies in Jakarta EE projects can be simplified
using the FlowLogix Dependency Chains. This approach provides a cleaner
alternative to managing the BOM (Bill of Materials) directly, reducing
configuration complexity and common errors.
+== Applicability
+This guide is intended for Jakarta EE projects using Apache Shiro for security.
+[NOTE]
+====
+Dependency chains are not suitable for Spring or SpringBoot projects
+====
+For Spring / SpringBoot projects, you need to use a
link:jakarta-ee.html#bom_approach[traditional BOM approach]
+
== What is the FlowLogix Dependency Chain?
FlowLogix provides pre-configured Maven dependency chains that bundle related
dependencies together. For Apache Shiro with Jakarta EE, the `shiro-jakarta`
module includes all necessary Shiro components with the correct Jakarta
classifier, eliminating the need to declare each dependency individually.
@@ -43,8 +51,8 @@ Add a single dependency to include all Shiro Jakarta EE
components:
<dependency>
<groupId>com.flowlogix.depchain</groupId>
<artifactId>shiro-jakarta</artifactId>
- <version>11</version>
- <type>pom</type>
+ <!-- replace LATEST with a version number -->
+ <version>LATEST</version>
</dependency>
</dependencies>
----
@@ -61,7 +69,7 @@ For reference, the traditional BOM approach requires
significantly more configur
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-bom</artifactId>
- <version>${shiro.version}</version>
+ <version>${versions.latestRelease}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
@@ -104,7 +112,8 @@ For reference, the traditional BOM approach requires
significantly more configur
[source,groovy]
----
dependencies {
- implementation platform('com.flowlogix.depchain:shiro-jakarta:11')
+ // replace LATEST with a version number
+ implementation platform('com.flowlogix.depchain:shiro-jakarta:LATEST')
}
----
@@ -113,27 +122,23 @@ For Kotlin DSL:
[source,kotlin]
----
dependencies {
- implementation(platform("com.flowlogix.depchain:shiro-jakarta:11"))
+ // replace LATEST with a version number
+ implementation(platform("com.flowlogix.depchain:shiro-jakarta:LATEST"))
}
----
-== Version Information
-
-The FlowLogix dependency chain version corresponds to the major release of
FlowLogix components:
-
-* Version 11: Compatible with Java 17-25+ and Jakarta EE 11
-* Version 10: Compatible with Java 17+ and Jakarta EE 10
-
-Check the
https://central.sonatype.com/search?q=com.flowlogix.depchain&sort=published[Maven
Central] for the latest available version.
-
== Additional Resources
* https://docs.flowlogix.com/depchains[FlowLogix Dependency Chains
Documentation]
-* https://github.com/flowlogix/flowlogix[FlowLogix GitHub Repository]
+* https://github.com/flowlogix/depchain[Dependency Chain - GitHub Repository]
+* https://github.com/flowlogix/base-pom[FlowLogix Base POM - GitHub Repository]
+* https://github.com/flowlogix/flowlogix[FlowLogix Jakarta EE Components -
GitHub Repository]
* link:jakarta-ee.html[Apache Shiro Jakarta EE Integration Guide]
== Complete Example Project
+You can create a complete, testable project using the
https://start.flowlogix.com[FlowLogix Starter] that supports Shiro with Jakarta
EE, Jakarta Faces, PrimeFaces, and Omnifaces.
+
Here is a minimal `pom.xml` for a Jakarta EE web application with Shiro
security:
[source,xml]
@@ -161,7 +166,7 @@ Here is a minimal `pom.xml` for a Jakarta EE web
application with Shiro security
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
- <version>10.0.0</version>
+ <version>11.0.0</version>
<scope>provided</scope>
</dependency>
@@ -169,14 +174,10 @@ Here is a minimal `pom.xml` for a Jakarta EE web
application with Shiro security
<dependency>
<groupId>com.flowlogix.depchain</groupId>
<artifactId>shiro-jakarta</artifactId>
- <version>11</version>
- <type>pom</type>
+ <!-- replace with latest version -->
+ <version>106</version>
</dependency>
</dependencies>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- </build>
</project>
----
@@ -189,4 +190,4 @@ To migrate an existing project from the traditional BOM
approach:
3. Add the single `shiro-jakarta` dependency chain
4. Remove any manually specified `jakarta` classifiers
-The dependency chain automatically handles classifier configuration and
ensures all required components are included with compatible versions.
\ No newline at end of file
+The dependency chain automatically handles classifier configuration and
ensures all required components are included with compatible versions.
diff --git a/src/site/content/jakarta-ee.adoc b/src/site/content/jakarta-ee.adoc
index bb78ace91..ee8b927f0 100644
--- a/src/site/content/jakarta-ee.adoc
+++ b/src/site/content/jakarta-ee.adoc
@@ -43,6 +43,10 @@ In addition to all Shiro annotations, Jakarta EE module
allows to specify Jakart
There are two approaches to include Shiro Jakarta EE dependencies in your
project:
==== Option 1: FlowLogix Dependency Chain (Recommended)
+[NOTE]
+====
+This option is applicable only to Jakarta EE, not Spring / SpringBoot.
+====
The simplest approach is to use the FlowLogix dependency chain, which bundles
all required Shiro Jakarta EE components in a single dependency:
@@ -52,17 +56,41 @@ The simplest approach is to use the FlowLogix dependency
chain, which bundles al
<dependency>
<groupId>com.flowlogix.depchain</groupId>
<artifactId>shiro-jakarta</artifactId>
- <version>11</version>
- <type>pom</type>
+ <!-- replace LATEST with a version number -->
+ <version>LATEST</version>
</dependency>
</dependencies>
----
This approach automatically includes all Shiro modules (`shiro-core`,
`shiro-web`, `shiro-jakarta-ee`, `shiro-cdi`, `shiro-jaxrs`) with the correct
Jakarta classifier, plus required dependencies like OmniFaces. See the
link:dependency-chain.html[Dependency Chain Guide] for more details, Gradle
examples, and migration instructions.
+[#bom_approach]
==== Option 2: Traditional BOM with Individual Dependencies
-Alternatively, use the Shiro artifacts with Jakarta classifiers directly:
+Alternatively, use the Shiro artifacts with Jakarta classifiers directly
+
+Import the Shiro BOM as seen below
+[NOTE]
+====
+Shiro BOM is a *necessary* step, unless you are using FlowLogix Depchain as
described above.
+The BOM is needed if you are using Spring / SpringBoot.
+====
+
+[source,xml]
+----
+<dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-bom</artifactId>
+ <version>${versions.latestRelease}</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+</dependencyManagement>
+----
+
[source,xml]
----
<dependency>
@@ -97,22 +125,6 @@ Alternatively, use the Shiro artifacts with Jakarta
classifiers directly:
</dependency>
----
-Import the Shiro BOM as seen below:
-[source,xml]
-----
-<dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.apache.shiro</groupId>
- <artifactId>shiro-bom</artifactId>
- <version>${versions.latestRelease}</version>
- <scope>import</scope>
- <type>pom</type>
- </dependency>
- </dependencies>
-</dependencyManagement>
-----
-
== Configuration
No additional configuration is required to use Shiro Jakarta EE module. The
module is bootstrapped automatically. +
Only `shiro.ini` is needed and can be configured as described in
link:web.html#web_ini[Web Configuration] +
diff --git a/src/site/templates/menu.ftl b/src/site/templates/menu.ftl
index 6efb8f6f9..6309e61fb 100644
--- a/src/site/templates/menu.ftl
+++ b/src/site/templates/menu.ftl
@@ -22,6 +22,7 @@
<li><a class="dropdown-item" href="<#if
(content.rootpath)??>${content.rootpath}<#else></#if>web.html">General</a></li>
<li><a class="dropdown-item" href="<#if
(content.rootpath)??>${content.rootpath}<#else></#if>jaxrs.html">JAX-RS</a></li>
<li><a class="dropdown-item" href="<#if
(content.rootpath)??>${content.rootpath}<#else></#if>jakarta-ee.html">Jakarta
EE</a></li>
+ <li><a class="dropdown-item" href="<#if
(content.rootpath)??>${content.rootpath}<#else></#if>dependency-chain.html">Jakarta
EE with Dependency Chains</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="<#if
(content.rootpath)??>${content.rootpath}<#else></#if>web-features.html">Features</a></li>
</ul>