4

POM内にいくつかの依存関係を定義するFlexライブラリ(SWC)を使用しようとしています。Gradleがこれらの推移的な依存関係を自動的に提供することを期待していました。ただし、gradle dependencies手動で追加された1つの依存関係のみを示しています。

merged
\--- com.example:flex-core:1.0.0

ライブラリのPOMファイルには次のものが含まれています。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>flex-core</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>swc</packaging>
  <dependencies>
    <dependency>
      <groupId>org.as3commons</groupId>
      <artifactId>as3commons-lang</artifactId>
      <version>0.3.6</version>
      <type>swc</type>
      <scope>external</scope>
    </dependency>
    <dependency>
      <groupId>org.as3commons</groupId>
      <artifactId>as3commons-collections</artifactId>
      <version>1.3.2</version>
      <type>swc</type>
      <scope>external</scope>
    </dependency>
    <dependency>
      <groupId>org.as3commons</groupId>
      <artifactId>as3commons-reflect</artifactId>
      <version>1.6.0</version>
      <type>swc</type>
      <scope>external</scope>
    </dependency>
  </dependencies>
</project>

私は私のに次の依存関係を追加しましたbuild.gradle

dependencies {
    merged 'com.example:flex-core:1.0.0@swc'
}

GradleがPOMからの依存関係を無視するのはなぜですか?それは「外部」スコープのせいですか?手動で追加せずにこれらの依存関係を取得することは可能ですか?

4

1 に答える 1

7

依存関係を宣言するときは、アーティファクトのみの表記を使用しています( @scw)。これは、Gradleがアーティファクト自体のみを取得し、POMからの推移的な依存関係を使用しないことを意味します。

代わりにこれを試してください:

dependencies {
    merged 'com.example:core:1.0.0'
}

名前はあってはいけませんflex-coreか?少なくとも、それはPOMが上で言ったことです。

于 2013-01-23T22:24:23.460 に答える