56

Gradleにプロパティファイルを含めるにはどうすればよいですか?

たとえば、Ant では、次のことができます。

<property file="${basedir}/build.properties" />
4

9 に答える 9

58

Java構文を使用してそれを行うことができます。例:

Properties props = new Properties()
InputStream ins = new FileInputStream("/path/file.properties")
props.load(ins)
ins.close()

これは、Groovyスクリプトで機能するはずです。ただし、クロージャやその他の派手なショートカットを使用して、もっと「グルービー」な方法があるかもしれません。

編集:「in」はgroovyの予約語です。変数にそのように名前を付けることはできず、名前を「ins」に変更します

于 2012-08-01T01:17:59.347 に答える
43

実際には、Gradle のデフォルトのプロパティ ファイルを使用することをお勧めします。プロパティをgradle.propertiesと同じディレクトリに配置するbuild.gradleと、自動的に使用可能になります。

ユーザー ガイドを参照してください。

于 2012-08-01T22:36:52.890 に答える
32

おそらくあなたが探しているのは次のようなものです:

    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

これを行うのが悪い考えである理由 (シャドーイング?) はおそらくありますか? すぐにサポートされていない理由や、他の場所で見つかる理由がわからない.

于 2015-11-02T18:51:45.413 に答える
10

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 とは独立して実行されます。

于 2012-11-19T18:32:28.670 に答える
3

GRADLE_USER_HOME 環境変数を使用して、gradle のホーム ディレクトリを設定します。そこにgradle.propertiesファイルを置き、パラメータを設定します。

https://docs.gradle.org/current/userguide/build_environment.html

ユーザーのホーム ディレクトリにあるプロパティ ファイルは、プロジェクト ディレクトリにあるプロパティ ファイルよりも優先されます。

于 2015-07-05T15:27:05.147 に答える