我在安装梯度的时候有问题.我可以使用gradle命令,只需在终端中输入"gradle“,但是"gradlew”不会做任何事情。我安装了gradle
sudo apt install gradle它安装成功了。我必须使用"sudo gradle“而不是"gradle”,因为这会在我不使用sudo时出现。
icebunny08@D3CRYPT3D:~$ 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 ...
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
BUILD SUCCESSFUL
Total time: 5.017 secs我的问题是,如果我正确地安装了Gradle,为什么我不能使用"gradlew“命令。这是我使用"gradlew“时的输出。
icebunny08@D3CRYPT3D:~$ gradlew
Command 'gradlew' not found, did you mean:
command 'gradle' from deb gradle
Try: sudo apt install 发布于 2018-06-07 06:17:03
运行gradle命令时遇到的警告是由于JDK 9或更高版本的一些groovy问题造成的,如这里所述。
如果这些警告对您来说是个问题,您可以使用所描述的解决方法来消除它们:
可以将以下参数添加到java引导脚本或JAVA_OPTS中,以抑制此警告:- add =java.base/java.lang=ALL-未命名的JAVA_OPTS
现在是关于梯度的。
Gradlew是gradle的包装。它被绑定到一个项目,而不是您的工作站。换句话说,您开发的每个gradle项目都可能附带一个梯度包装器。gradlew的目的是使项目可移植(即开发人员不需要在他们的工作站上安装gradle )和可靠(即每个人都可以安装相同版本的gradle )。包装器脚本将为您的项目下载指定版本的gradle,然后运行它。这在他们的文件中都有描述。
在您的情况下所做的是在您的工作站上安装gradle,在全球范围内。gradle安装不附带gradlew,因为gradlew需要添加到您选择的每个gradle项目中,正如所描述的这里。您只需在项目中运行以下命令:
gradle wrapper这将为您的gradle项目创建包装脚本。显然,您需要安装gradle来运行这个命令(您已经安装了它),但是如果您提交结果并与其他开发人员共享,他们可以使用gradlew脚本而无需安装gradle。
在你的例子中,你最终有两种可能:
gradle clean。您可以这样做,因为手动全局安装gradlegradlew clean。您可以这样做,因为首先您用gradle wrapper创建了包装器脚本。如果gradle版本相同,两者应该给出相同的结果。
https://askubuntu.com/questions/1044352
复制相似问题