今日私は./gradlew -Dorg.gradle.project.env=demo test
を入力するとNullPointExcepetionが発生しますが、println envが正常に実行されましたが、./gradlew -Denv=demo test
と入力して別の方法を試してみてください。私の質問は、 "-Dorg.gradle.project.env = demo"と "-Denv = demo"の間の違いは何ですか?このリンク(12.2。https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_properties_and_system_propertiesのGradleプロパティとシステムプロパティ)は、org.gradle.projectを使用してシステムプロパティを設定するように教えてくれました。あなたがorg.gradle.projectを使用するときは、システムプロパティを取得するために、 System.getProperty("env")
gradleの "-Dorg.gradle.project.env = demo"と "-Denv = demo"の間の違いは何ですか?
答えて
私はあなたが
org.gradle.project
を使用するとき、あなたはあなたが正しいSystem.getProperty("env")
を使用していない、システムプロパティを取得するために別の方法を使用する必要がありますね。この2つの構文は異なっており、異なる目的を果たします。
-Denv
は、Javaの世界で標準的な方法であるpassing system propertiesです。あなたがjava -help
を実行する場合は、表示されます:
-D <名> = <値>は、あなたがそれを使用する場合、
env
システムプロパティがSystem.getProperty("env")
経由で利用可能になると、それはだ、
だから、システムプロパティを設定します値はdemo
になります。
最初の-Dorg.gradle.project.env
は、実際にはシステムプロパティです。上記の行を読んだ後は明らかです。ただし、env
だけでなく、org.gradle.project.env
という名前のシステムプロパティを設定します。あなたのテストがこの名前を期待しない限り、動作しません。そして、テストではビルドツールを知らないので、この名前は期待できません。
何Gradle docsされると言う:
のGradleは、ビルドにプロパティを追加するためのさまざまな方法を提供しています。 -Dコマンドラインオプションを使用すると、Gradleを実行するJVMにシステムプロパティを渡すことができます。 gradleコマンドの-Dオプションは、javaコマンドの-Dオプションと同じ効果があります。
Gradleは、特別な名前のシステムプロパティまたは環境変数を表示するときにプロジェクトプロパティを設定することもできます。この機能は、継続的な統合サーバーに対する管理者権限を持たず、通常はセキュリティ上の理由から、簡単には見えないプロパティ値を設定する必要がある場合に非常に便利です。このような状況では、-Pオプションを使用することはできず、システムレベルの構成ファイルを変更することはできません。正しい戦略は、継続的な統合ビルドジョブの構成を変更して、予想されるパターンに一致する環境変数設定を追加することです。これは、システム上の通常のユーザーには表示されません。
環境変数名がORG_GRADLE_PROJECT_prop = somevalueのように見える場合、Gradleはプロジェクトオブジェクトのpropプロパティをsomevalueという値で設定します。 Gradleはこれもシステムプロパティーでこれをサポートしていますが、異なる名前付けパターン(
org.gradle.project.prop
のように見えます)を使用しています。
「Gradle」では、システムプロパティに特別な名前を付けることで、プロジェクトの特質を設定することができます。システムプロパティの名前をorg.gradle.project.env
に設定して、env
という名前のProject
's propertyを値demo
に設定しました。このプロパティは、project.env
でビルドスクリプトで利用でき、さまざまな方法でビルドを微調整するために使用できます。
- 1. Andengine Demo Nullpointer
- 2. R demo()メソッドとexample()メソッド?
- 3. IBM BLUEMIX BLOCKCHAIN SDK-DEMO failed
- 4. DEMOデータなしのSyliusのインストール
- 5. Waffle-filter-demoが動作しない
- 6. 私のgradleファイルで何が間違っていますか?
- 7. GradleのmustRunAfterとdependsOnの違いは何ですか?
- 8. Android Plugin for Gradleの "minifyEnabled"と "useProguard"の違いは何ですか?
- 9. Gradleで署名用プラグインとsigningConfigsの違いは何ですか?
- 10. 「Make」と「Gradle-aware Make」の違いは何ですか?
- 11. Josh SmithのMVVM Demo App:MainWindowViewModelのコマンドリストにコマンドを追加
- 12. C#のマーキングメンバー<code>Demo</code>クラスの
- 13. Gradleのbuild.gradleにおける '' vs ''の違いは何ですか?
- 14. gradleアップロードとgradleの違い
- 15. ember demo ember-cli-mirageがバックエンドのないサーバで動作しない
- 16. レイアウトコードの間違いは何ですか
- 17. 誰でもstruts2-osgi-demo-bundleが動作していますか?ここ
- 18. リストビューのデータソースエラー - データ応答がhttp://edelworks.com/demo/あるネイティブ
- 19. 「コンパイル時間」と「実行時間」の違いは何ですか?
- 20. google-assistant-demoコマンドが見つかりません
- 21. ソースサーバーとシンボルサーバーの間のTFS 2010の違いは何ですか?
- 22. HostedとInternal PBXの間のデプロイメントの違いは何ですか?
- 23. Gradle:クラスパスとコンパイルの依存関係の違いは何ですか?
- 24. ScopedDisposableとtake(使用中の間:...)の違いは何ですか?
- 25. タグと<field>タグの間の違いは何ですか?
- 26. C++クラス・ポインタとクラス・オブジェクトの間の違いは何ですか?
- 27. Rails 3:route.rb:/ chart/demo/homeにはどのように書き込むことができますか?
- 28. Gradle構成の依存関係とGradle構成の受信依存関係の違いは何ですか?
- 29. google開発者コンソールからfirebase-demo-projectを削除するには
- 30. C++名前空間との違いは何ですか
お返事ありがとうございました。 –