Gradleにプロパティファイルを含めるにはどうすればよいですか?
たとえば、Ant では、次のことができます。
<property file="${basedir}/build.properties" />
Gradleにプロパティファイルを含めるにはどうすればよいですか?
たとえば、Ant では、次のことができます。
<property file="${basedir}/build.properties" />
Java構文を使用してそれを行うことができます。例:
Properties props = new Properties()
InputStream ins = new FileInputStream("/path/file.properties")
props.load(ins)
ins.close()
これは、Groovyスクリプトで機能するはずです。ただし、クロージャやその他の派手なショートカットを使用して、もっと「グルービー」な方法があるかもしれません。
編集:「in」はgroovyの予約語です。変数にそのように名前を付けることはできず、名前を「ins」に変更します
実際には、Gradle のデフォルトのプロパティ ファイルを使用することをお勧めします。プロパティをgradle.properties
と同じディレクトリに配置するbuild.gradle
と、自動的に使用可能になります。
ユーザー ガイドを参照してください。
おそらくあなたが探しているのは次のようなものです:
Properties props = new Properties()
props.load(new FileInputStream("$project.rootDir/profile/"+"$environment"+".properties"))
props.each { prop ->
project.ext.set(prop.key, prop.value)
}
その後、プロパティはその名前から直接アクセスできるはずです。すなわち:
println "$jdbcURL"
println project.jdbcURL
これを行うのが悪い考えである理由 (シャドーイング?) はおそらくありますか? すぐにサポートされていない理由や、他の場所で見つかる理由がわからない.
Gradle がビルドする .jar に .csv ファイルを含める方法は次のとおりです。
sourceSets {
main {
java {
srcDir 'src/main/java'
output.classesDir = 'build/classes/main'
}
resources {
srcDir 'src/main/resources'
include '*.csv'
output.resourcesDir = 'build/resources/main'
}
}
}
次に、アプリケーションがリソースをロードすると、Gradle とは独立して実行されます。
GRADLE_USER_HOME 環境変数を使用して、gradle のホーム ディレクトリを設定します。そこにgradle.propertiesファイルを置き、パラメータを設定します。
https://docs.gradle.org/current/userguide/build_environment.html
ユーザーのホーム ディレクトリにあるプロパティ ファイルは、プロジェクト ディレクトリにあるプロパティ ファイルよりも優先されます。