0

既に servlet-api が含まれている tomcat コンテナーにアプリをデプロイしているときに問題に直面しています。また、競合が異なるため、アプリも servlet-api に依存しています。

実行時ではなくコンパイル時にのみ、アプリに servlet-api を含めるように ivy を定義することは可能ですか?

どうやってするか。

依存関係 org="java" name="servlet-api" rev="default" conf="compile"

conf をコンパイルとして渡すと、ivy の検証に失敗します。

4

1 に答える 1

3

Mavenの「提供」スコープと機能的に似た依存関係のように聞こえます。

私のアドバイスは、追加の構成とマッピングを作成することです。たとえば、次のようになります。

<configurations>
  <conf name="compile" description="Compile dependencies"/>
  <conf name="runtime" description="Runtime dependencies" extends="compile"/>
  <conf name="provided" description="Provided dependencies"/>
</configurations>

<dependencies>
  <dependency .. conf="compile->default"/>
  <dependency .. conf="runtime->default"/>
  <dependency .. conf="provided->default"/>
</dependencies>

ビルド ファイル内で、コンパイルに使用されるクラスパスには、次のような追加の依存関係を含めることができます。

<ivy:cachepath pathid="compile.path" conf="compile,provided"/>
于 2013-03-07T23:33:33.950 に答える