如何在MAVEN中配置Spring的依赖包

如何在MAVEN中配置Spring的依赖包,第1张

11 spring-security-core
Spring Security的核心功能是由spring-security-core包提供的,包含了认证和访问控制功能、支持standalone应用程序、方法级安全和JDBC支持。
<properties>
<orgspringframeworksecurityversion>323RELEASE</orgspringframeworksecurityversion>
<orgspringframeworkversion>404RELEASE</orgspringframeworkversion>
</properties>
<dependency>
<groupId>orgspringframeworksecurity</groupId>
<artifactId>spring-security-core</artifactId>
<version>${orgspringframeworksecurityversion}</version>
</dependency>
注意:我们使用的是32x版本的Spring Security--Spring和Spring Security有着不同的版本计划,所以他们的版本号之间没有一对一关系。
如果项目使用的是较老版本的Spring,需要注意的时Spring Security 31x版本不依赖于Spring 31x版本,因为Spring Security 31x版本在Spring 31之前发布。Spring的计划是在后续的版本中,使双方的版本号更为接近,更多细节请查看这个JIRA。我们将在后面的内容中看看这种情况对我们的实际影响。
12 spring-security-web
要为Spring Security增加Web支持,需要引入spring-security-web依赖:
<dependency>
<groupId>orgspringframeworksecurity</groupId>
<artifactId>spring-security-web</artifactId>
<version>${orgspringframeworksecurityversion}</version>
</dependency>
这个项目为Servlet环境引入了针对URL访问控制的相关基础安全组件和过滤器。
13 Spring Security与较老版本的Spring Core之间的依赖问题
如上文所述,这个新的依赖产生一个Maven依赖关系问题,Spring Security的相关jar不依赖于最新的Spring core的jar (而是以前的版本)。这可能使的被依赖的Spring core相关包在类路径中被配置前在最新的Spring 4x相关包的前面。
这是如何发生的呢?我们需要了解Maven处理版本冲突的机制,Maven会选择与依赖树树根最接近的版本。在之前的情况中,spring-orm依赖4x版本的spring-core,而spring-security-core依赖于328版本的spring-core。因此,spring-orm和sprint-security-web的定义顺序就是一个问题,先定义的会有更高的优先级。最终情况就是,我们的类路径中会有两个版本的spring-core。
为了避免这类问题,我们需要在我们的pom文件中明确指定一些Spring依赖,而不依靠Maven隐式依赖机制。我们将在pom的根文件中定义特定的依赖关系,这样这些依赖关系将会有更高的优先级。下面例子中,将对所有的Spring核心组件明确定义相同的版本,对于多模块项目,需要在父配置文件的dependencyManagement属性中定义。
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-core</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-context</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
<dependency>
<groupId>orgspringframework</groupId>
<artifactId>spring-web</artifactId>
<version>${orgspringframeworkversion}</version>
</dependency>
14 spring-security-config及其他
要使用丰富的Spring Security XML的命名空间,需要定义spring-security-config依赖:
<dependency>
<groupId>orgspringframeworksecurity</groupId>
<artifactId>spring-security-config</artifactId>
<version>${orgspringframeworksecurityversion}</version>
<scope>runtime</scope>
</dependency>
没有任何代码需要在编译时依赖这个包,所以它的范围应该定义为runtime。
最后,LDAP、ACL、CAS和OpenID支持需要分别增加各自的依赖包:spring-security-ldap, spring-security-acl, spring-security-cas和spring-security-openid。

1先创建一个基于maven的项目,点击打开pomxml文件 2 点击Dependencies标签页,然后点击Dependencies中的add按钮,输入我们想添加的jar包名字,就会出现下图中所示,它会把对应名称的所有版本jar包列出来

你如果把这些项目close了过后,他就是jar包了。 貌似因为你的这个jar包在workspace里面,所有关联的时候是个文件夹,你如果动态的改了那个项目,然后可能,可能会自动给你打jar,然后又关联进来
如何通过Maven为Java项目配置Drools依赖
答:在pomxml 里面 加入jar 依赖 orgdrools drools-core 550Final 视情况而定,可能你还需要其他的jar 可以去maven 仓库中去查找
maven 添加jar后,选择性的添加他的依赖项,做到手动
问:<dependency><groupId>orgapachestruts</groupId><artifactId>struts2
答:1排除jar下所依赖的所有jar,用如下 orgapachestruts struts2-spring-plugin 234 如果只是不需要某一个,那就groupid和artifactid写清楚,多个 就多个


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13340072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存