3

当我将此行添加到我的 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>

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

::::::::::::::::::::::::::::::::::::::::::::::
::          UNRESOLVED DEPENDENCIES         ::
::::::::::::::::::::::::::::::::::::::::::::::
:: com.caucho#hessian;3.2.1: not found
::::::::::::::::::::::::::::::::::::::::::::::

编辑:这是问题摘要:

    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

我访问了maven仓库网站,Spring web 3.2.1的页面,hessian 3.2.1被列为依赖,但是在hessian的页面中没有3.2.1版本的hessian包,是这个问题吗?我该如何进行?

4

1 回答 1

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>

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

声明更新的版本

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

<dependency org="org.springframework" name="spring-web" rev="3.2.1.RELEASE" />
<dependency org="com.caucho" name="hessian" rev="4.0.7" />

如果您生成一个 ivy报告,您会看到 ivy “驱逐”旧(缺失)版本,转而支持 4.0.7

使用配置映射

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

<dependency org="org.springframework" name="spring-web" rev="3.2.1.RELEASE" conf="default"/>

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

于 2013-02-26T20:16:31.497 回答