从Spring3.0.5到Spring3.1.2的更新不包括aspectjrt作为依赖项

从Spring3.0.5到Spring3.1.2的更新不包括aspectjrt作为依赖项,spring,spring-security,aspectj,Spring,Spring Security,Aspectj,我正在从Spring 3.0.5更新到Spring 3.1.2,同时更新Spring security core也更新到3.1.2,这反过来又依赖于aspectjrt(在其pom中提到),但如果我使用 dependency:tree 它不会在树中列出aspectjrt,但是如果我使用版本3.0.5生成相同的树,aspectjrt会在依赖关系树中列出 另外,正如前面提到的,我已经验证了两个POM(版本3.0.5和3.1.2)中都存在aspectjrt依赖关系 由于中的aspectjrt未作为依赖

我正在从Spring 3.0.5更新到Spring 3.1.2,同时更新Spring security core也更新到3.1.2,这反过来又依赖于aspectjrt(在其pom中提到),但如果我使用

dependency:tree
它不会在树中列出aspectjrt,但是如果我使用版本3.0.5生成相同的树,aspectjrt会在依赖关系树中列出

另外,正如前面提到的,我已经验证了两个POM(版本3.0.5和3.1.2)中都存在aspectjrt依赖关系

由于中的aspectjrt未作为依赖项列出,因此不编译我的代码,因为它需要来自aspectjrt的类

如果我在pom中显式地包含aspectjrt依赖项,我的代码将成功编译

有人知道为什么更新到3.1.2后会出现此问题吗?为什么aspectjrt在更新到3.1.2后不作为依赖项加入


是否有任何解决方法,否则我将不得不在我的pom中包含aspectjrt作为解释依赖项。

AspectJ声明为在spring pom中。这意味着AspectJ是构建SpringJAR所必需的,但当您将Spring作为依赖项包含时,它不是构建项目所必需的。如果您需要AspectJ功能,请将其包含在POM中。

AspectJ声明为在spring POM中。这意味着AspectJ是构建SpringJAR所必需的,但当您将Spring作为依赖项包含时,它不是构建项目所必需的。如果您需要AspectJ功能,请将其包含在POM中。

我已经解决了这个问题。这是预期的行为,因为SpringSecurityCore3.0.5AspectJRT不是可选的,但在SpringSecurityCore3.1.2中,他们将aspectjrt标记为可选的

因此,如果您在代码中使用某种aspectjrt,那么必须在pom中包含aspectjrt依赖项


希望有帮助。

我已经解决了这个问题。这是预期的行为,因为SpringSecurityCore3.0.5AspectJRT不是可选的,但在SpringSecurityCore3.1.2中,他们将aspectjrt标记为可选的

因此,如果您在代码中使用某种aspectjrt,那么必须在pom中包含aspectjrt依赖项


希望这会有所帮助。

这两个版本都是可选的,但对于3.0.5,我不必明确地将其包含在pom中,但对于3.1.2,我必须这样做。为什么会这样?这是某种错误还是有意的改变?可能是您从其他组件获得了这种依赖关系,您可以使用3.0.5构建依赖关系树并检查哪个库将其提供给您吗?如果您仔细阅读了问题,我已经这样做了,很明显,这种依赖关系来自spring。在此期间,除了更改版本外,我没有对项目进行任何更改。我对3.0.5.RELEASE版本也做了相同的更改,并且依赖关系树中没有aspectj,因此,请指定哪个库是aspectjits spring security core的父库,aspectjrt来自该库在两个版本中都是可选的,但对于3.0.5,我不必显式地将其包含在pom中,但对于3.1.2,我必须这样做。为什么会这样?这是某种错误还是有意的改变?可能是您从其他组件获得了这种依赖关系,您可以使用3.0.5构建依赖关系树并检查哪个库将其提供给您吗?如果您仔细阅读了问题,我已经这样做了,很明显,这种依赖关系来自spring。在此期间,除了更改版本之外,我没有对项目进行任何更改。我对3.0.5.RELEASE版本也做了相同的更改,并且依赖关系树中没有aspectj,因此请指定哪个库是aspectjits spring security core的父库,aspectjrt来自哪个库