The Gradle Wrapper files are designed to be committed to source control so that anyone can build the project without having to first install and configure a specific version of Gradle.
以上是我在https://spring.io/guides/gs/gradle/上看到的教程。
那么问题来了,./gradlew run
下载的gradle放在了该目录下~/.gredle/dists/
。
1.应该把gradle放在项目目录中得哪个位置才能加入版本控制呢?
2.我机器上已经有gradle了,为什么./gradlew run
又帮我下载了一遍呢?而且版本都是2.4
追问一句,每次新开一个项目都要写依赖等等吗...不能像Python一样自己去lib里找,找不到就报错吗?
这个 ./gradlew
可以让任何一个没有安装 gradle
的机器自动下载指定版本的 gradle
,跟题主想象中的不太一样,这个 ./gradlew
其实很笨,只认 ~/.gradle
里面的文件,不认全局的 gradle
命令,所以会“重复”下载。
不过不用担心,同一台机器,如果通过 ./gradlew
下载了一次,那么未来相同版本的 gradle
就不会再次被下载了。
需要放入版本管理的是项目目录的 gradle/
目录,里面是 gradlew
的具体实现。
gradle
貌似没有类似 python 的机制,不写 dependencies 就不会自动分析源码里面 import
哪些库。这其实也可以理解,毕竟通过 import
无法得知 jar 包的确切名字(比如发现了 import a.b.c.d
这种代码,我如何知道包名叫 a.b
还是 a.b.c
?),更无法获得包的版本信息。