3

複数のプロジェクト gradle ビルドがあり、依存関係のバージョンを .xml 経由で外部化しようとしていgradle.propertiesます。残念ながら、子プロジェクトは親のプロパティを見つけることができませんgradle.properties

したがって、親gradle.propertiesには次のものがあります。

SPRING_VERSION=3.2.0.RELEASE

親でbuild.gradle私は持っています:

dependencies {
    compile "org.springframework:spring-webmvc:$SPRING_VERSION"
    ...

これはうまくいきます。しかし、子プロジェクトでは同じことがエラーを引き起こします:

Could not resolve all dependencies for configuration 
Could not find org.springframework:spring-context-support:$SPRING_VERSION.

バージョン プロジェクトをハードコーディングすると、正常にビルドされます。

親ファイルにも次のように指定してsettings.gradleいます:

include 'projectA','projectB','projectC'

プロジェクト構造

root
|
\ buildSRC
\ projectA
    |
    \ build.gradle
\ projectB  (build script in parent build.gradle)
\ projectC  (build script in parent build.gradle)
|
|
\ build.gradle
\ gradle.properties
\ settings.gradle
4

6 に答える 6

14

Groovy では、二重引用符で囲まれた文字列は文字列補間をサポートしますが、単一引用符で囲まれた文字列はサポートしません。どうやら、サブプロジェクトで単一引用符で囲まれた String を誤って使用したようです。その結果、Gradle は文字どおり という名前のバージョンを探しましたが$SPRING_VERSION、もちろん見つかりませんでした。

于 2013-11-16T02:19:34.590 に答える
1

projectA-build.gradle では、次のコードでメインの gradle.properties の変数を参照する必要があります。

project.SPRING_VERSION
于 2013-11-13T14:15:21.733 に答える