shiro-root
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-root</artifactId> <version>2.0.4</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apache</groupId> <artifactId>apache</artifactId> <version>34</version> </parent> <groupId>org.apache.shiro</groupId> <artifactId>shiro-root</artifactId> <version>2.0.4</version> <packaging>pom</packaging> <name>Apache Shiro</name> <description>Apache Shiro is a powerful and flexible open-source security framework that cleanly handles authentication, authorization, enterprise session management, single sign-on and cryptography services.</description> <url>https://shiro.apache.org/</url> <inceptionYear>2004</inceptionYear> <developers> <developer> <id>aditzel</id> <name>Allan Ditzel</name> <email>aditzel@apache.org</email> <url>http://www.allanditzel.com</url> <organization>Apache Software Foundation</organization> <timezone>-5</timezone> </developer> <developer> <id>jhaile</id> <name>Jeremy Haile</name> <email>jhaile@apache.org</email> <url>http://www.jeremyhaile.com</url> <organization>Mobilization Labs</organization> <organizationUrl>http://www.mobilizationlabs.com</organizationUrl> <timezone>-5</timezone> </developer> <developer> <id>lhazlewood</id> <name>Les Hazlewood</name> <email>lhazlewood@apache.org</email> <url>http://www.leshazlewood.com</url> <organization>Stormpath</organization> <organizationUrl>https://www.stormpath.com</organizationUrl> <timezone>-8</timezone> </developer> <developer> <id>kaosko</id> <name>Kalle Korhonen</name> <email>kaosko@apache.org</email> <url>https://www.tynamo.org</url> <organization>Apache Software Foundation</organization> <timezone>-8</timezone> </developer> <developer> <id>pledbrook</id> <name>Peter Ledbrook</name> <email>p.ledbrook@cacoethes.co.uk</email> <url>https://www.cacoethes.co.uk/</url> <organization>SpringSource</organization> <organizationUrl>https://spring.io/</organizationUrl> <timezone>0</timezone> </developer> <developer> <id>tveil</id> <name>Tim Veil</name> <email>tveil@apache.org</email> </developer> <developer> <id>bdemers</id> <name>Brian Demers</name> <email>bdemers@apache.org</email> <url>https://stormpath.com/blog/author/bdemers</url> <organization>Stormpath</organization> <organizationUrl>https://stormpath.com/</organizationUrl> <roles> <role>PMC Chair</role> </roles> <timezone>-5</timezone> </developer> <developer> <id>jbunting</id> <name>Jared Bunting</name> <email>jbunting@apache.org</email> <organization>Apache Software Foundation</organization> <timezone>-6</timezone> </developer> <developer> <id>fpapon</id> <name>Francois Papon</name> <email>fpapon@apache.org</email> <organization>Yupiik</organization> <organizationUrl>https://www.yupiik.com/</organizationUrl> <timezone>+4</timezone> </developer> <developer> <id>bmarwell</id> <name>Benjamin Marwell</name> <email>bmarwell@apache.org</email> <timezone>Europe/Berlin</timezone> </developer> <developer> <id>lprimak</id> <name>Lenny Primak</name> <email>lprimak@apache.org</email> <url>https://hope.nyc.ny.us</url> <organization>Flow Logix</organization> <organizationUrl>https://www.flowlogix.com/</organizationUrl> <timezone>US/Central</timezone> </developer> </developers> <mailingLists> <mailingList> <name>Apache Shiro Users Mailing List</name> <subscribe>user-subscribe@shiro.apache.org</subscribe> <unsubscribe>user-unsubscribe@shiro.apache.org</unsubscribe> <post>user@shiro.apache.org</post> </mailingList> <mailingList> <name>Apache Shiro Developers Mailing List</name> <subscribe>dev-subscribe@shiro.apache.org</subscribe> <unsubscribe>dev-unsubscribe@shiro.apache.org</unsubscribe> <post>dev@shiro.apache.org</post> </mailingList> </mailingLists> <scm> <connection>scm:git:https://gitbox.apache.org/repos/asf/shiro.git</connection> <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/shiro.git</developerConnection> <tag>shiro-root-2.0.4</tag> <url>https://github.com/apache/shiro/tree/${project.scm.tag}</url> </scm> <issueManagement> <system>Jira</system> <url>https://issues.apache.org/jira/browse/SHIRO</url> </issueManagement> <ciManagement> <system>Jenkins</system> <url>https://builds.apache.org/job/Shiro/</url> </ciManagement> <distributionManagement> <site> <id>shiro.website</id> <name>Apache Shiro Site</name> <url>scp://people.apache.org/www/shiro.apache.org/static/latest</url> </site> <downloadUrl>https://shiro.apache.org/download.html</downloadUrl> </distributionManagement> <properties> <shiro.previousVersion>2.0.0</shiro.previousVersion> <buildNumber>${user.name}-${maven.build.timestamp}</buildNumber> <project.build.outputTimestamp>2025-04-17T01:43:15Z</project.build.outputTimestamp> <jacoco.skip>true</jacoco.skip> <surefire.argLine></surefire.argLine> <failsafe.argLine></failsafe.argLine> <junit5.parallel.tests.enabled>true</junit5.parallel.tests.enabled> <junit5.parallel.tests.mode>concurrent</junit5.parallel.tests.mode> <nexus.deploy.skip>false</nexus.deploy.skip> <nexus-staging-profile>nexus-staging</nexus-staging-profile> <jacocoAgent></jacocoAgent> <shiro.osgi.importRange>[2, 3)</shiro.osgi.importRange> <jcache.osgi.importRange>[1.1,2)</jcache.osgi.importRange> <aspectj.version>1.9.20.1</aspectj.version> <commons.beanutils.version>1.10.1</commons.beanutils.version> <commons.cli.version>1.9.0</commons.cli.version> <commons.collection.version>3.2.2</commons.collection.version> <commons.configuration2.version>2.11.0</commons.configuration2.version> <commons.lang3.version>3.17.0</commons.lang3.version> <commons.logging.version>1.3.5</commons.logging.version> <commons.text.version>1.8</commons.text.version> <ehcache.version>2.6.11</ehcache.version> <hazelcast.version>5.3.8</hazelcast.version> <hsqldb.version>2.7.4</hsqldb.version> <javax.annotation.api.version>1.3.2</javax.annotation.api.version> <jcache.api.version>1.1.1</jcache.api.version> <jdk.version>11</jdk.version> <jetty.version>9.4.57.v20241219</jetty.version> <owasp.java.encoder.version>1.3.1</owasp.java.encoder.version> <quartz.version>2.5.0</quartz.version> <quartz.docs.version>2.3.0</quartz.docs.version> <slf4j.version>2.0.17</slf4j.version> <log4j.version>2.24.3</log4j.version> <spring.version>5.3.39</spring.version> <spring-boot.version>2.7.18</spring-boot.version> <guice.version>4.2.3</guice.version> <jaxrs.api.version>2.1.6</jaxrs.api.version> <htmlunit.version>4.11.1</htmlunit.version> <bouncycastle.version>1.80</bouncycastle.version> <easymock.version>5.5.0</easymock.version> <mockito.version>5.17.0</mockito.version> <bytebuddy.version>1.17.5</bytebuddy.version> <gmaven.version>4.1.1</gmaven.version> <groovy.version>4.0.26</groovy.version> <junit.version>5.12.2</junit.version> <junit.server.jetty.version>3.3.1</junit.server.jetty.version> <hibernate.version>5.6.15.Final</hibernate.version> <taglibs.standard.version>1.2.5</taglibs.standard.version> <jakarta.annotations.version>1.3.5</jakarta.annotations.version> <lombok.version>1.18.38</lombok.version> <maven.compiler.release>${jdk.version}</maven.compiler.release> <checkstyle.configLocation>${root.dir}/src/checkstyle.xml</checkstyle.configLocation> <checkstyle.supressionsLocation>${root.dir}/src/suppressions.xml</checkstyle.supressionsLocation> <fluido-skin.version>2.1.0</fluido-skin.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-lang</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-cache</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-config-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-config-ogdl</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-crypto-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-crypto-hash</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro.crypto</groupId> <artifactId>shiro-hashes-argon2</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro.crypto</groupId> <artifactId>shiro-hashes-bcrypt</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-crypto-cipher</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-event</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-servlet-plugin</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-aspectj</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-quartz</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-guice</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-hazelcast</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-jaxrs</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${project.version}</version> <type>test-jar</type> <classifier>tests</classifier> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-config-ogdl</artifactId> <version>${project.version}</version> <type>test-jar</type> <classifier>tests</classifier> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.shiro.integrationtests</groupId> <artifactId>shiro-its-support</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro.integrationtests</groupId> <artifactId>shiro-its-meecrowave-support</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> <artifactId>shiro-its-jaxrs</artifactId> <version>${project.version}</version> <type>pom</type> </dependency> <dependency> <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> <artifactId>shiro-its-jaxrs-app</artifactId> <version>${project.version}</version> <type>war</type> </dependency> <dependency> <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> <artifactId>shiro-its-jaxrs-app</artifactId> <version>${project.version}</version> <classifier>classes</classifier> </dependency> <dependency> <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> <artifactId>shiro-its-jaxrs-tests</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.junit-pioneer</groupId> <artifactId>junit-pioneer</artifactId> <version>2.3.0</version> <scope>test</scope> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>${bytebuddy.version}</version> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> <version>${bytebuddy.version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${commons.cli.version}</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>${javax.annotation.api.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-configuration2</artifactId> <version>${commons.configuration2.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.owasp.encoder</groupId> <artifactId>encoder</artifactId> <version>${owasp.java.encoder.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>${log4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core-test</artifactId> <version>${log4j.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.jupiter</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.junit.platform</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>junit</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jul</artifactId> <version>${log4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> <version>${log4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>${commons.beanutils.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>${hsqldb.version}</version> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-spec</artifactId> <version>${taglibs.standard.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-impl</artifactId> <version>${taglibs.standard.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy</artifactId> <version>${groovy.version}</version> </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>${ehcache.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> <exclusion> <groupId>net.sf.ehcache</groupId> <artifactId>sizeof-agent</artifactId> </exclusion> </exclusions> <optional>true</optional> </dependency> <dependency> <groupId>com.hazelcast</groupId> <artifactId>hazelcast</artifactId> <version>${hazelcast.version}</version> </dependency> <dependency> <groupId>org.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>${htmlunit.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> <exclusion> <groupId>ant</groupId> <artifactId>ant</artifactId> </exclusion> <exclusion> <groupId>ant-launcher</groupId> <artifactId>ant-launcher</artifactId> </exclusion> <exclusion> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> </exclusion> <exclusion> <groupId>javax.security</groupId> <artifactId>jacc</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </exclusion> <exclusion> <groupId>jboss</groupId> <artifactId>jboss-cache</artifactId> </exclusion> <exclusion> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> </exclusion> <exclusion> <groupId>asm</groupId> <artifactId>asm-attrs</artifactId> </exclusion> <exclusion> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> </exclusion> </exclusions> <optional>true</optional> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jta_1.1_spec</artifactId> <version>1.1.1</version> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> <optional>true</optional> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-multibindings</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-servlet</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>${quartz.version}</version> <optional>true</optional> </dependency> <dependency> <groupId>com.github.mjeanroy</groupId> <artifactId>junit-servers-jetty-9</artifactId> <version>${junit.server.jetty.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.apache.maven.skins</groupId> <artifactId>maven-fluido-skin</artifactId> <version>${fluido-skin.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>3.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>3.27.3</version> <scope>test</scope> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>${easymock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy</artifactId> <scope>test</scope> </dependency> </dependencies> <repositories> <repository> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <id>apache.snapshots</id> <url>https://repository.apache.org/snapshots</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <id>apache.snapshots</id> <url>https://repository.apache.org/snapshots</url> </pluginRepository> </pluginRepositories> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>@{jacocoAgent} @{surefire.argLine}</argLine> <shutdown>kill</shutdown> <enableProcessChecker>native</enableProcessChecker> <trimStackTrace>false</trimStackTrace> <redirectTestOutputToFile>true</redirectTestOutputToFile> <properties> <configurationParameters>junit.jupiter.execution.parallel.enabled = ${junit5.parallel.tests.enabled} junit.jupiter.execution.parallel.mode.default = ${junit5.parallel.tests.mode}</configurationParameters> </properties> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <configuration> <argLine>@{jacocoAgent} @{failsafe.argLine}</argLine> <trimStackTrace>false</trimStackTrace> <redirectTestOutputToFile>true</redirectTestOutputToFile> </configuration> </plugin> <plugin> <artifactId>maven-surefire-report-plugin</artifactId> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <excludePackageNames>org.apache.shiro.samples.*</excludePackageNames> <linksource>true</linksource> <links> <link>https://docs.oracle.com/en/java/javase/${jdk.version}/docs/api/</link> <link>https://www.slf4j.org/api/</link> <link>https://docs.spring.io/spring-framework/docs/${spring.version}/javadoc-api/</link> <link>https://docs.spring.io/spring-boot/docs/${spring-boot.version}/api/</link> <link>https://junit.org/junit5/docs/${junit.version}/api/</link> <link>https://www.quartz-scheduler.org/api/${quartz.docs.version}/</link> </links> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.4.0</version> </plugin> <plugin> <artifactId>maven-help-plugin</artifactId> <version>3.5.1</version> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>5.1.9</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>4.0.0-M16</version> </plugin> <plugin> <artifactId>maven-scm-publish-plugin</artifactId> <version>3.3.0</version> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <configuration> <excludes> <exclude>**/.externalToolBuilders/*</exclude> <exclude>**/infinitest.filters</exclude> <exclude>velocity.log</exclude> <exclude>CONTRIBUTING.md</exclude> <exclude>**/README.md</exclude> <exclude>**/*.json</exclude> <exclude>**/spring.factories</exclude> <exclude>**/org.springframework.boot.autoconfigure.AutoConfiguration.imports</exclude> <exclude>**/spring.provides</exclude> <exclude>**/*.iml</exclude> <exclude>**/target/**</exclude> <exclude>**/nb-configuration.xml</exclude> <exclude>**/faces-config.NavData</exclude> <exclude>**/org.mockito.plugins.MockMaker</exclude> <exclude>.mvn/*</exclude> <exclude>.jenkins_maven_args</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.18.0</version> </plugin> <plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <version>${gmaven.version}</version> <dependencies> <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy-all</artifactId> <version>${groovy.version}</version> <type>pom</type> <scope>runtime</scope> </dependency> </dependencies> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.6.0</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.13</version> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>5.0.0</version> <configuration> <aggregate>true</aggregate> <header>${root.dir}/src/license/header.txt</header> <headerDefinitions> <headerDefinition>${root.dir}/src/license/header_format.xml</headerDefinition> </headerDefinitions> <excludes> <exclude>**/*.txt</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jetty.version}</version> <configuration> <contextPath>/</contextPath> <httpConnector> <port>9080</port> <idleTimeout>60000</idleTimeout> </httpConnector> <requestLog implementation="org.eclipse.jetty.server.NCSARequestLog"> <filename>./target/yyyy_mm_dd.request.log</filename> <retainDays>90</retainDays> <append>true</append> <extended>false</extended> <logTimeZone>GMT</logTimeZone> </requestLog> </configuration> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>12.1.1</version> </plugin> <plugin> <groupId>com.github.siom79.japicmp</groupId> <artifactId>japicmp-maven-plugin</artifactId> <version>0.23.1</version> <configuration> <oldVersion> <dependency> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <version>${shiro.previousVersion}</version> <type>jar</type> </dependency> </oldVersion> <parameter> <onlyModified>true</onlyModified> <breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications> <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications> <breakBuildBasedOnSemanticVersioning>false</breakBuildBasedOnSemanticVersioning> </parameter> </configuration> </plugin> <plugin> <groupId>dev.aspectj</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>1.14.1</version> <executions> <execution> <id>aspectj-compile</id> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>${aspectj.version}</version> </dependency> </dependencies> <configuration> <source>${maven.compiler.release}</source> <target>${maven.compiler.release}</target> <complianceLevel>${maven.compiler.release}</complianceLevel> <showWeaveInfo>true</showWeaveInfo> <forceAjcCompile>true</forceAjcCompile> </configuration> </plugin> <plugin> <artifactId>maven-shade-plugin</artifactId> <executions> <execution> <id>jakarta</id> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <minimizeJar>false</minimizeJar> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>jakarta</shadedClassifierName> <createDependencyReducedPom>false</createDependencyReducedPom> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer" /> </transformers> <artifactSet> <includes> <include>${project.groupId}:${project.artifactId}</include> </includes> </artifactSet> <relocations> <relocation> <pattern>javax.annotation</pattern> <shadedPattern>jakarta.annotation</shadedPattern> <excludes> <exclude>javax.annotation.processing.**</exclude> </excludes> </relocation> <relocation> <pattern>javax.enterprise</pattern> <shadedPattern>jakarta.enterprise</shadedPattern> <excludes> <exclude>javax.enterprise.deploy.**</exclude> </excludes> </relocation> <relocation> <pattern>javax.inject</pattern> <shadedPattern>jakarta.inject</shadedPattern> </relocation> <relocation> <pattern>javax.json</pattern> <shadedPattern>jakarta.json</shadedPattern> </relocation> <relocation> <pattern>javax.servlet.http.HttpSessionContext</pattern> <shadedPattern>org.apache.shiro.web.servlet.HttpSessionContext</shadedPattern> </relocation> <relocation> <pattern>javax.servlet</pattern> <shadedPattern>jakarta.servlet</shadedPattern> </relocation> <relocation> <pattern>javax.websocket</pattern> <shadedPattern>jakarta.websocket</shadedPattern> </relocation> <relocation> <pattern>javax.ws.rs</pattern> <shadedPattern>jakarta.ws.rs</shadedPattern> </relocation> </relocations> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.6.0</version> <executions> <execution> <phase>validate</phase> <goals> <goal>checkstyle</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>10.23.0</version> </dependency> </dependencies> <configuration> <configLocation>${checkstyle.configLocation}</configLocation> <suppressionsLocation>${checkstyle.supressionsLocation}</suppressionsLocation> <linkXRef>true</linkXRef> <consoleOutput>true</consoleOutput> <failsOnError>true</failsOnError> <failOnViolation>true</failOnViolation> <includeTestSourceDirectory>true</includeTestSourceDirectory> <enableRulesSummary>true</enableRulesSummary> <resourceExcludes>test-keystore.jks,test-keystore.pem</resourceExcludes> <propertyExpansion>root.dir=${root.dir}</propertyExpansion> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <executions> <execution> <id>rat-check</id> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.commonjava.maven.plugins</groupId> <artifactId>directory-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <id>directories</id> <phase>validate</phase> <goals> <goal>directory-of</goal> </goals> <configuration> <property>root.dir</property> <project> <groupId>org.apache.shiro</groupId> <artifactId>shiro-root</artifactId> </project> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <showWarnings>true</showWarnings> <compilerArgs> <arg>-Xlint:deprecation</arg> <arg>-Xlint:unchecked</arg> </compilerArgs> <annotationProcessorPaths> <annotationProcessorPath> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </annotationProcessorPath> </annotationProcessorPaths> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>prepare-agent-integration</id> <phase>pre-integration-test</phase> <goals> <goal>prepare-agent-integration</goal> </goals> </execution> </executions> <configuration> <includes> <include>org/apache/shiro/**</include> </includes> <excludes> <exclude>**/*$$FastClassBy*$$*</exclude> <exclude>**/*$$EnhancerBy*CGLIB$$*</exclude> <exclude>**/*$MockitoMock$*</exclude> <exclude>**/*$HibernateProxy$*</exclude> <exclude>org/apache/shiro/samples/guice/SampleShiroGuiceBootstrap</exclude> <exclude>org/apache/shiro/samples/guice/SampleShiroServletModule</exclude> <exclude>org/apache/shiro/**/*Test</exclude> <exclude>org/apache/shiro/**/*Test$*</exclude> <exclude>org/apache/shiro/**/*IT</exclude> <exclude>org/apache/shiro/**/*IT$*</exclude> <exclude>org/apache/shiro/testing/jakarta/ee/PropertyPrincipal</exclude> <exclude>org/apache/shiro/testing/cdi/ComponentInjectionBean</exclude> <exclude>org/apache/shiro/**/__EJB31_Generated*</exclude> <exclude>org/apache/shiro/**/Deployments</exclude> </excludes> <propertyName>jacocoAgent</propertyName> <classDumpDir>${root.dir}/target/classes</classDumpDir> <fileSets> <fileSet> <directory>${project.basedir}</directory> <includes> <include>**/*.exec</include> </includes> </fileSet> </fileSets> </configuration> </plugin> <plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <executions> <execution> <goals> <goal>addTestSources</goal> <goal>generateTestStubs</goal> <goal>compileTests</goal> <goal>removeTestStubs</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <revisionOnScmFailure>${project.version}</revisionOnScmFailure> <getRevisionOnlyOnce>true</getRevisionOnlyOnce> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> <manifestEntries> <Automatic-Module-Name>org.apache.shiro.${module.name}</Automatic-Module-Name> </manifestEntries> </archive> </configuration> </plugin> <plugin> <artifactId>maven-doap-plugin</artifactId> <version>1.2</version> <executions> <execution> <id>site</id> <phase>pre-site</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <inherited>false</inherited> <configuration> <artifact></artifact> <doapOptions> <programmingLanguage>Java</programmingLanguage> <category>library, web-framework</category> <bugDatabase>${project.issueManagement.url}</bugDatabase> <created>${project.inceptionYear}-01-01</created> <description>${project.description}</description> <downloadPage>${project.distributionManagement.downloadUrl}</downloadPage> <homepage>${project.url}</homepage> <mailingList>${project.url}/mail-lists.html</mailingList> <name>${project.name}</name> <shortdesc>A simple to use Java Security Framework.</shortdesc> <vendor>${project.organization.name}</vendor> </doapOptions> <asfExtOptions> <charter>The mission of the Apache Shiro project is to create and maintain an easy to use authentication and authorization framework.</charter> <pmc>${project.url}</pmc> <name>${project.name}</name> </asfExtOptions> </configuration> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <configuration> <pushChanges>false</pushChanges> <localCheckout>true</localCheckout> <autoVersionSubmodules>true</autoVersionSubmodules> <preparationGoals>validate</preparationGoals> <preparationProfiles>skip-checkstyle</preparationProfiles> <goals>deploy</goals> <releaseProfiles>docs,apache-release,${nexus-staging-profile}</releaseProfiles> <mavenExecutorId>forked-path</mavenExecutorId> </configuration> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <configuration> <deployAtEnd>true</deployAtEnd> </configuration> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>[3.5.0,4)</version> </requireMavenVersion> <requireJavaVersion> <version>[11,)</version> </requireJavaVersion> </rules> </configuration> </execution> <execution> <id>enforce-forbidden-dependencies</id> <goals> <goal>enforce</goal> </goals> <configuration> <fail>true</fail> <rules> <bannedDependencies> <excludes> <exclude>*:powermock-api-easymock</exclude> <exclude>*:powermock-module-junit4</exclude> </excludes> </bannedDependencies> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.github.siom79.japicmp</groupId> <artifactId>japicmp-maven-plugin</artifactId> <executions> <execution> <id>japicmp</id> <phase>verify</phase> <goals> <goal>cmp</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <reportSets> <reportSet> <id>javadoc-aggregate</id> <reports> <report>aggregate-no-fork</report> </reports> </reportSet> </reportSets> <inherited>false</inherited> <configuration> <top><!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ /* We explicitly disable cookie tracking to avoid privacy issues */ _paq.push(['disableCookies']); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//matomo.privacy.apache.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '2']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code --></top> </configuration> </plugin> <plugin> <artifactId>maven-jxr-plugin</artifactId> <version>3.6.0</version> <reportSets> <reportSet> <reports> <report>jxr-no-fork</report> </reports> </reportSet> </reportSets> <configuration> <aggregate>true</aggregate> </configuration> </plugin> <plugin> <artifactId>maven-pmd-plugin</artifactId> <version>3.26.0</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <configuration> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <version>0.16.1</version> <inherited>false</inherited> <configuration> <excludes> <exclude>**/.externalToolBuilders/*</exclude> <exclude>**/infinitest.filters</exclude> <exclude>velocity.log</exclude> <exclude>CONTRIBUTING.md</exclude> <exclude>**/README.md</exclude> <exclude>**/*.json</exclude> <exclude>**/spring.factories</exclude> <exclude>**/org.springframework.boot.autoconfigure.AutoConfiguration.imports</exclude> <exclude>**/spring.provides</exclude> <exclude>**/*.iml</exclude> <exclude>**/target/**</exclude> <exclude>**/nb-configuration.xml</exclude> <exclude>**/faces-config.NavData</exclude> <exclude>**/org.mockito.plugins.MockMaker</exclude> <exclude>.mvn/*</exclude> <exclude>.jenkins_maven_args</exclude> </excludes> </configuration> </plugin> <plugin> <artifactId>maven-surefire-report-plugin</artifactId> <reportSets> <reportSet> <reports> <report>report-only</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <version>3.2.1</version> <configuration> <tagListOptions> <tagClasses> <tagClass> <displayName>Todo Work</displayName> <tags> <tag> <matchString>todo</matchString> <matchType>ignoreCase</matchType> </tag> <tag> <matchString>FIXME</matchString> <matchType>exact</matchType> </tag> </tags> </tagClass> <tagClass> <displayName>Deprecated</displayName> <tags> <tag> <matchString>@Deprecated</matchString> <matchType>exact</matchType> </tag> </tags> </tagClass> </tagClasses> </tagListOptions> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jdepend-maven-plugin</artifactId> <version>2.1</version> <reportSets> <reportSet> <reports> <report>generate-no-fork</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <reportSets> <reportSet> <id>jacoco-aggregate</id> <reports> <report>report-integration</report> <report>report</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <profiles> <profile> <id>fast</id> <build> <defaultGoal>install</defaultGoal> </build> <properties> <maven.test.skip.exec>true</maven.test.skip.exec> <maven.test.skip>true</maven.test.skip> </properties> </profile> <profile> <id>jdk8</id> <activation> <jdk>[1.8,)</jdk> </activation> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <sourcepath>${project.build.sourceDirectory}</sourcepath> <doclint>none</doclint> <additionalJOptions> <additionalJOption>--allow-script-in-comments</additionalJOption> </additionalJOptions> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>jdk11plus</id> <activation> <jdk>[11,)</jdk> </activation> <properties> <surefire.argLine>-XX:+IgnoreUnrecognizedVMOptions -Xshare:off</surefire.argLine> </properties> </profile> <profile> <id>docs</id> <build> <plugins> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-api-docs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> <inherited>true</inherited> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> <inherited>true</inherited> </plugin> </plugins> </build> </profile> <profile> <id>apache-release</id> <build> <plugins> <plugin> <groupId>net.nicoulaj.maven.plugins</groupId> <artifactId>checksum-maven-plugin</artifactId> <version>1.11</version> <executions> <execution> <id>source-release-checksum</id> <goals> <goal>artifacts</goal> </goals> </execution> </executions> <configuration> <algorithms> <algorithm>SHA-512</algorithm> <algorithm>SHA3-512</algorithm> </algorithms> <csvSummary>false</csvSummary> </configuration> </plugin> </plugins> </build> <distributionManagement> <site> <id>shiro.website</id> <name>Apache Shiro Site</name> <url>scm:svn:https://svn.apache.org/repos/asf/shiro/site/publish/static/${project.version}</url> </site> </distributionManagement> </profile> <profile> <id>nexus-staging</id> <build> <plugins> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.7.0</version> <extensions>true</extensions> <configuration> <nexusUrl>https://repository.apache.org</nexusUrl> <serverId>apache.releases.https</serverId> <skipNexusStagingDeployMojo>${nexus.deploy.skip}</skipNexusStagingDeployMojo> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>owasp</id> <build> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <executions> <execution> <goals> <goal>aggregate</goal> </goals> <inherited>false</inherited> </execution> </executions> <inherited>false</inherited> <configuration> <suppressionFile>${root.dir}/src/owasp-suppression.xml</suppressionFile> </configuration> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <reportSets> <reportSet> <reports> <report>aggregate</report> </reports> </reportSet> </reportSets> <inherited>false</inherited> <configuration> <suppressionFile>${root.dir}/src/owasp-suppression.xml</suppressionFile> <name>OWASP Dependency Check</name> </configuration> </plugin> </plugins> </reporting> </profile> <profile> <id>ci</id> <properties> <jacoco.skip>false</jacoco.skip> </properties> </profile> <profile> <id>skip-checkstyle</id> <activation> <property> <name>checkstyle.skip</name> </property> </activation> <build> <plugins> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> <executions> <execution> <phase>none</phase> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>