常春藤 - spring-web有未解决的依赖关系

ela*_*ich 3 spring-mvc ivy

当我将此行添加到我的ivy.xml文件时:

 <ivy-module version="2.0">
     <info organisation="Marouane" module="example"/>
     <dependencies>
         <dependency org="com.sun.faces" name="jsf-impl" rev="2.1.19" />
         <dependency org="com.sun.faces" name="jsf-api" rev="2.1.19" />
         <dependency org="org.springframework" name="spring-context" rev="3.2.1.RELEASE" />
         <!-- this line -->
         <dependency org="org.springframework" name="spring-web" rev="3.2.1.RELEASE" />
     </dependencies>
 </ivy-module>
Run Code Online (Sandbox Code Playgroud)

我有一个关于未解决的依赖项的警告,没有下载任何内容.

::::::::::::::::::::::::::::::::::::::::::::::
::          UNRESOLVED DEPENDENCIES         ::
::::::::::::::::::::::::::::::::::::::::::::::
:: com.caucho#hessian;3.2.1: not found
::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)

编辑:这是问题摘要:

    module not found: com.caucho#hessian;3.2.1
==== local: tried
  $HOME/.ivy2/local/com.caucho/hessian/3.2.1/ivys/ivy.xml
  -- artifact com.caucho#hessian;3.2.1!hessian.jar:
  $HOME/.ivy2/local/com.caucho/hessian/3.2.1/jars/hessian.jar
==== shared: tried
  $HOME/.ivy2/shared/com.caucho/hessian/3.2.1/ivys/ivy.xml
  -- artifact com.caucho#hessian;3.2.1!hessian.jar:
  $HOME/.ivy2/shared/com.caucho/hessian/3.2.1/jars/hessian.jar
==== public: tried
  http://repo1.maven.org/maven2/com/caucho/hessian/3.2.1/hessian-3.2.1.pom
  -- artifact com.caucho#hessian;3.2.1!hessian.jar:
  http://repo1.maven.org/maven2/com/caucho/hessian/3.2.1/hessian-3.2.1.jar
Run Code Online (Sandbox Code Playgroud)

我参观了Maven仓库网站,Spring的web 3.2.1的页面,粗麻布3.2.1被列为依赖关系,但在粗麻布的页面存在的3.2.1版本没有麻袋包,这是什么问题?我该怎么办?

Mar*_*nor 5

问题是Maven Central中没有版本3.2.1:

根本原因是Spring-web POM,它具有以下依赖性:

<dependency>
  <groupId>com.caucho</groupId>
  <artifactId>hessian</artifactId>
  <version>3.2.1</version>
  <scope>compile</scope>
  <optional>true</optional>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这是一个可选的依赖项,因此有一些解决方法.

声明更新的版本

如果您的功能需要此jar,请使用此选项(作者将其设为可选的原因).

<dependency org="org.springframework" name="spring-web" rev="3.2.1.RELEASE" />
<dependency org="com.caucho" name="hessian" rev="4.0.7" />
Run Code Online (Sandbox Code Playgroud)

如果您生成常春藤报告,您会看到常春藤"驱逐"较旧(缺失)版本而转向4.0.7

使用配置映射

此"默认"配置映射将仅包含编译范围依赖项(这是Maven默认值)并排除标记为可选的任何内容:

<dependency org="org.springframework" name="spring-web" rev="3.2.1.RELEASE" conf="default"/>
Run Code Online (Sandbox Code Playgroud)

有关常春藤中配置映射的更多信息,请阅读: