it-swarm-ja.com

gradleとgradlewのインストール方法は?

Gradlewのインストールに問題があります...ターミナルで「gradle」と入力するだけでgradleコマンドを使用できますが、「gradlew」は何もしません。を使用してgradleをインストールしました

Sudo apt install gradle

そして、正常にインストールされました。これは、Sudoを使用しないときに表示されるため、「gradle」ではなく「Sudo gradle」を使用する必要があります。

[email protected]:~$ gradle
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.gradle.internal.reflect.JavaMethod (file:/usr/share/gradle/lib/gradle-base-services-3.4.1.jar) to method Java.lang.ClassLoader.getPackages()
WARNING: Please consider reporting this to the maintainers of org.gradle.internal.reflect.JavaMethod
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Starting a Gradle Daemon (subsequent builds will be faster)
:help

Welcome to Gradle 3.4.1.

To run a build, run gradle <task> ...

To see a list of available tasks, run gradle tasks

To see a list of command-line options, run gradle --help

To see more detail about a task, run gradle help --task <task>

BUILD SUCCESSFUL

Total time: 5.017 secs

私の問題は、Gradleを正しくインストールした場合と、「gradlew」コマンドを使用できない理由です。これは、「gradlew」を使用したときの出力です。

[email protected]:~$ gradlew

Command 'gradlew' not found, did you mean:

  command 'gradle' from deb gradle

Try: Sudo apt install <deb name>
3
icebunny08

here で説明されているように、gradleコマンドの実行時に発生する警告は、JDK 9以降でのgroovyの問題によるものです。

これらの警告が問題である場合は、説明されている回避策を使用してそれらを非表示にすることができます。

この警告を抑制するには、Java bootstrapスクリプトまたはJava_OPTSに次の引数を追加できます。

--add-opens = Java.base/Java.lang = ALL-UNNAMED --add-opens = Java.base/Java.lang.invoke = ALL-UNNAMED


Gradlewについて。

Gradlewは、gradleのラッパーです。ワークステーションではなく、プロジェクトにバインドされています。言い換えれば、開発する各gradleプロジェクトには、グラドルラッパーが付属している場合があります。 gradlewの目的は、プロジェクトを移植可能(つまり、開発者がワークステーションにgradleをインストールする必要がない)、信頼性の高い(つまり、すべてのユーザーに同じバージョンのgradle)にすることです。ラッパースクリプトは、プロジェクトに指定されたバージョンのgradleをダウンロードして実行します。これはすべて それらのドキュメント で説明されています。

このケースで行ったことは、ワークステーションにgradleをグローバルにインストールすることです。 here のように、選択したすべてのgradleプロジェクトにgradlewを追加する必要があるため、gradleのインストールにはgradlewが付属していません。プロジェクトで次のコマンドを実行するだけです。

gradle wrapper

これにより、gradleプロジェクトのラッパースクリプトが作成されます。明らかに、このコマンドを実行するにはgradleをインストールする必要があります(既にインストール済みです)が、結果をコミットして他の開発者と共有する場合、gradleをインストールせずにgradlewスクリプトを使用できます。

あなたの場合、次の2つの可能性があります。

  • gradle cleanなどのプロジェクトでgradleコマンドを実行します。手動でgradleをグローバルにインストールしたため、これを行うことができます
  • プロジェクトでgradlew cleanなどのgradlewコマンドを実行します。そもそもgradle wrapperを使用してラッパースクリプトを作成したため、これを行うことができます。

Gradleバージョンが同じ場合、両方とも同じ結果を与えるはずです。

3
O Ducarme