2017-05-15 15 views
0

Gradleビルドスクリプトのドット表記の使い方に悩まされています。Gradle 3.5とSpring Bootのドット表記

私は、メインプロジェクトとサブプロジェクトで複数のプロジェクトをビルドしています。

次にメインbuild.gradleは、Webアプリケーションのサブプロジェクトはビルドスクリプトが完了していないこの

plugins { 
    id 'org.springframework.boot' version '1.5.3.RELEASE' 
    id 'eclipse-wtp' 
    id 'war' 
} 
dependencies { 
    compile (project(":${rootProject.name}-API")){transitive=false} 

    compile "org.springframework.boot:spring-boot-starter", 
      "org.springframework.boot:spring-boot-starter-security" 
} 

ように構築され、この

subprojects { 
    apply plugin: 'java' 
    sourceCompatibility = 1.8 
    dependencies { 
     compile "org.slf4j:slf4j-api:${project.'slf4j.version'}", 
       'javax.inject:javax.inject:1' 
     testCompile 'junit:junit:4.12' 
    } 
} 

のようなものです。
私は、メインプロジェクトでgradle.propertiesを使ってバージョンを定義できることを知りました。

logback.version=1.2.3 
slf4j.version=1.7.25 
slf4jVersion=1.7.25 
spring.version=4.3.8.RELEASE 

1.質問
どのように私は、ドット表記法で変数を使用することができますか?私は$slf4j.versionでそれを試しましたが、Gradleのビルドプロセスは失敗しました。

2.質問
私は春のブートプラグインによってサポートされているすべての変数の完全なリストを見つけることができます ?私は運がない時間を探しました。

1.更新
最初の質問は@Vampireによって回答されました。
私は名にドットを持っている、あるいはproject.properties['slf4j.version']またはproject.getProperty('slf4j.version')も動作する必要があるプロパティにアクセスするために${project.'slf4j.version'}

+1

これはあなたの2番目の質問に答える場合、私は、知らないが、から、この[pom.xmlファイルspring boot git repository](https://github.com/spring-projects/spring-boot/blob/master/spring-boot-dependencies/pom.xml)には、あなたが知りたいことを含めることができます。表示されているドット表記の依存関係のうち少なくとも一部は、「」セクションの一部として利用できます。 – l00tr

答えて

3

使用project.'slf4j.version'とbuild.gradleを更新します。

+0

両方の質問に回答します。 @ l00trのコメントを見てください。私はこれを答えにフラグを立てます... – Nabor

0

私は、あなたが行うことができversions.slf4jversions.logbackなどの代わりに、slf4j.versionlogback.versionを使用することをお勧めしたい:

ext { 
    versions = [ 
     slf4j: '1.7.25', 
     logback: '1.2.3' 
    ] 
} 
dependencies { 
    compile "org.slf4j:slf4j-api:$versions.slf4j" 
} 
+0

答えはありません。異なる変数名を使用すると、Spring Bootは正しい解決策ではありません... – Nabor

関連する問題