問題タブ [gradle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - クラスローダーの問題
クラスローダの動作について興味深い質問があります。
質問 1:クラスローダが jar をロードする順序は?
次の jar とそれを含むクラスが提供されます。
どのクラスがロードされますか?
質問 2:クラスパス内のファイルのパスと名前が一意であるというのは本当ですか?
次の jar とそれを含むクラスが提供されます (実際の例):
私が言えることは、Spring によって両方のファイルがロードされるということです。そうしないと、例外が発生します (この記事を参照)。
なぜ私はそれを求めているのですか:
いわゆるビッグジャー(グラドルのクックブックエントリ)を作成しました。これは、アプリケーション クラスと他のすべての依存関係が解凍され、大きな jar にパケット化された jar です。そして、重複したファイルをどうするかは絶対にわかりません。
gradle - miglayoutを取得する方法-gradleでスイング
miglayout jarファイルを取得しようとしています:miglayout-3.7.2-swing.jar
。
この瓶だけが欲しい。のすべてのjarファイルは必要ありませんmiglayout-3.7.2
。
私がそれを与えるならば、それはすべてをcom.miglayout:miglayout:3.7.2@jar
ダウンロードします。
miglayout-3.7.2-swing.jar
誰かがgradleでダウンロードする方法を教えてくれますか?
encryption - Gradle で Maven リポジトリに暗号化されたパスワードを使用するにはどうすればよいですか
現在、Maven ビルドを Gradle ビルドに移行しようとしています。私が突き当たったショーストッパーのハードルは、内部アーティファクトが、読み取りに認証が必要な内部リポジトリにデプロイされていることです。
そして、認証が何を意味するかを知っています... ユーザー名とパスワード。問題は、開発者がハード ドライブにパスワードを平文で保存することを要求したくないことです。Maven はパスワード暗号化をサポートしていますが、Gradle にそれをさせる方法がわかりません。
暗号化されたパスワードをサポートする Ivy CredentialStore への魔法のアクセスはありますか? または、新しいバージョンを待つ必要がありますか?
java - テストなしの Gradle ビルド
gradle build
単体テストを実行せずに実行したい。私は試した:
それは何もしないようです。他に使用できるコマンドはありますか?
gradle - 他のプラグイン用のGradleクックブック「ソースおよびリソースディレクトリの作成」
私はクックブックで次を見ることができます
Web プラグインと同じものを一覧表示するにはどうすればよいですか
gradle - ビルトイン gradle タスクの作業を doLast/ビルトイン タスク ショートカットに移動する
ビルドの種類 (例: デバッグ/リリース) に応じて動作をわずかに変更する単純な同期タスクを作成したいのですが、gradle.taskGraph.whenReady で宣言されたブール変数「ダミー」を使用します。
問題は、次の方法で構成されたタスクには構成スコープがあることです。つまり、 whenReady の前にあるため、「ダミー」変数にアクセスできません。
現在、この回避策を使用しています
することは可能ですか
- whenReady を除く他の場所でいくつかのビルド プロパティを検出/セットアップする
- 同期タスクの作業を doLast に移動する
- または、少なくとも同期タスクのショートカットがあります(.execute()はかなり見栄えが悪いです)
dependency-injection - Gradleは、fileTreeを使用したサブプロジェクトへの依存関係の挿入に失敗します
たぶん、Gradleの動作について何かが足りないのかもしれません。ここにあるのは親プロジェクトです。これには構成のみが含まれます。つまり、ビルド時にアーティファクトはビルドされず、すべてのサブプロジェクトを管理およびビルドするだけです。
これで、サブプロジェクトはいくつかの依存関係の構成を共有するので、ルートプロジェクトのbuild.gradleで何をするかを考えました。
ただし、これは機能せず、かなりあいまいなエラーメッセージで失敗します。
ルートプロジェクト'qype-android'の評価で問題が発生しました原因:メソッドの署名がありません:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile()が引数タイプに適用可能です:(org.gradle.api。 internal.file.DefaultConfigurableFileTree)値:[ファイルセット'lib']可能な解決策:module(java.lang.Object)
試行錯誤の末、親プロジェクトに「java」プラグインを適用することで、この問題を「修正」することができました。
どうして?fileTree
Gradleのドキュメントから、依存関係にJavaプラグインが必要であることがわかりません。それでも、構成されているプロジェクトではなく、構成を注入しているプロジェクトで必要になるのはなぜですか(サブプロジェクトはすべてJavaプラグイン自体を適用することに注意してください)。
これは、すべて異なる性質のN個の異なるサブプロジェクトがあり、異なるプラグインを適用する場合、親プロジェクトは常に、どこかで使用されているすべてのプラグインのセットをそれ自体にも適用する必要があることを意味しますか?
jar - JAR に依存する場合、クラス/パッケージを除外することは可能ですか?
JUnit 3 パッケージ全体を含む JAR ファイルに依存する必要がありますが、JUnit 4 はプロジェクトに個別にバンドルしています。したがって、代わりに JUnit 4 ランナーを使用して実行する必要がある場合に、JUnit 3 ランナーを使用して実行されるため、私のテストは中断されます。
問題は、JAR に依存しているときに、特定のクラスまたは JAR のパッケージ全体を含めないように Gradle に指示できるかどうかです。
更新 提案されたzipTree / copyソリューションを使用して機能しました:
美しく動作します。
configuration - 同じ依存関係に対して「runtime」と「compile」の両方を指定する必要があるのはなぜですか?
アプリケーションのコンパイルと実行の両方に必要ないくつかのアーティファクトに依存しています。
Gradle docs によると、ランタイム構成はコンパイル構成を拡張するため、使用して依存関係を追加することruntime
は暗黙のcompile
依存関係を意味しますか?
少なくともそれは私の仮定でしたが、うまくいきません。を使用してアーティファクトに依存しているときruntime
、私のプロジェクトはもうコンパイルされません。私は文字通りしなければなりません:
アプリケーションが実行時に Signpost クラスをコンパイルして参照できるようにします。
何か不足していますか?それは正しく見えません...
eclipse - gradleを使用してEJBモジュールのEclipseプロジェクトを生成する
EARプロジェクト、EJBクライアントjar、EJBモジュールのプロジェクトと設定を生成したいのですが、eclipseWtpタスクに新しいファセットを挿入できず、gradleWebサイトのドキュメントに基づいて多くの組み合わせを試しました。
次のようなことを試みましたが、常にファイルの早期終了エラーが発生しました。