使用Maven

基于maven的spring security的最少依赖如下所示:

pom.xml

  1. <dependencies>
  2. <!-- ... other dependency elements ... -->
  3.         <dependency>
  4.          <groupId>org.springframework.security</groupId>
  5.          <artifactId>spring-security-web</artifactId>
  6.          <version>4.1.0.RELEASE</version>
  7. </dependency>
  8. <dependency>
  9.          <groupId>org.springframework.security</groupId>
  10.          <artifactId>spring-security-config</artifactId>
  11.          <version>4.1.0.RELEASE</version>
  12. </dependency>
  13. </dependencies>

如果你使用附加的特性,例如LDAP、OpenID等等,你同样也需要加入合适的依赖,参见下一节"项目模块”。

Maven 仓库

所有GA版本(正式发行版)即版本号以RELEASE的版本,都会发布到maven中央仓库中。pom.xml不需要有其他配置。

如果使用的SNAPSHOT版本,需要引入Spring快照仓库

  1.    <repositories>
  2.              <!-- ... possibly other repository elements ... -->
  3.              <repository>
  4.                    <id> spring-snapshot</id >
  5.                    <name> Spring Snapshot Repository</name >
  6.                    <url> http://repo.springsource.org/snapshot</url >
  7.              </repository>
  8.        </repositories>

如果使用一个milestone(M1\M2)--里程碑版本或者release cadidate版本RC(RC1\RC2)--正式发布候选版本,需要引入

  1. <repositories>
  2.        <!-- ... possibly other repository elements ... -->
  3.        <repository>
  4.              <id> spring-milestone</id >
  5.              <name> Spring Milestone Repository</name >
  6.              <url> http://repo.springsource.org/milestone</url >
  7.        </repository>
  8. </repositories>

spring framework bom

Spring Security基于Spring 4.2.5.RELEASE构建,但是对于4.0.X版本同样可以工作。很多用户可能会遇到的一个问题是Spring Security的依赖传递解析Spring框架 4.2.5.RELEASE版本时引起的奇怪的Classpath的错误。

一种乏味解决方法是在pom的<dependencyManagement>片段中引入Spring框架的所有模块,另一种替代的途径是在pom的<dependencyManagement>中加入spring-framework-bom,如下所示

  1. <dependencyManagement>
  2.         <dependencies>
  3.                 <dependency>
  4.                         <groupId>org.springframework</groupId>
  5.                         <artifactId>spring-framework-bom</artifactId>
  6.                         <version>4.2.5.RELEASE</version>
  7.                         <type>pom</type>
  8.                         <scope>import</scope>
  9.                 </dependency>
  10.         </dependencies>
  11.    </dependencyManagement>

这将保证SpringSecurity的依赖传递都使用 Spring 4.2.5.RELEASE的模块。

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/ 

06-15 12:51