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リポジトリのWebサイトにアクセスしました。SpringWeb3.2.1のページです。依存関係としてhessian3.2.1がリストされていますが、hessianのページにはバージョン3.2.1のhessianパックがありません。これは問題ですか?どうすれば続行できますか?

4

1 に答える 1

5

問題は、バージョン 3.2.1 が Maven Central に存在しないことです。

根本的な原因は、次の依存関係を持つ 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レポートを生成すると、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 に答える