Java gradle init文件是否可以保存删除?
Java gradle init文件是否可以保存删除?,java,gradle,Java,Gradle,gradle init在工作目录中创建许多文件:设置.gradle.kts“,“gradlew”,“gradlew.bat”,“build.gradle.kts”,以及“gradle”目录。我希望有一个更干净的工作目录,我能保留“build.gradle.kts”并删除其余的吗 对于一个“hello world”Java应用程序,我可以用“gradle run”来启动它,有什么我以后会错过的关键功能吗 Component || Keep? ---------------------
gradle init
在工作目录中创建许多文件:设置.gradle.kts“
,“gradlew”
,“gradlew.bat”
,“build.gradle.kts”
,以及“gradle”目录。我希望有一个更干净的工作目录,我能保留“build.gradle.kts”并删除其余的吗
对于一个“hello world”Java
应用程序,我可以用“gradle run”来启动它,有什么我以后会错过的关键功能吗
Component || Keep?
-------------------------
build.gradle || Yes
settings.gradle || Yes
gradlew || Yes
gradlew.bat || Ideally
.gradle || No
将gradlew
签入代码库被认为是最佳实践。原因:其他开发人员、测试工具、构建工具将使用与本地版本完全相同的构建配置,从而确保一致性,并且不会导致需要单独调试的意外问题
对于多项目代码存储库,顶层有一个设置.gradle
,而每个子项目都应该有自己的构建.gradle
。对于多项目存储库,顶级目录还可以有一个build.gradle
,这是维护所有子项目的公共插件和依赖项的一种方式
settings.gradle
建立项目结构、模块名称、顶层根的名称等,而build.gradle
则应包含插件要求(这些测试应该如何运行?
,如何获取覆盖率报告?
)以及项目需要的一组依赖项
gradlew.bat
文件是用于windows系统的gradle包装器——为了完全卫生,我会将其签入VCS,但如果您只关心*nix生态系统,您应该能够删除此文件
现在,回到我提出的第一点,根据您所在的系统,gradleinit
可能会生成不同的gradle包装器,该包装器可能以意外的方式与这些文件交互。因此,将他们全部纳入风险投资是一种良好的做法
我绝对不会签入.gradle
或/build
目录-它包含大量用于临时构建步骤的缓存和文件。这些东西应该放在.gitignore
中,以确保最佳的本地开发速度,但将这些东西放在VCS中没有多大意义
将gradlew
签入代码库被认为是最佳实践。原因:其他开发人员、测试工具、构建工具将使用与本地版本完全相同的构建配置,从而确保一致性,并且不会导致需要单独调试的意外问题
对于多项目代码存储库,顶层有一个设置.gradle
,而每个子项目都应该有自己的构建.gradle
。对于多项目存储库,顶级目录还可以有一个build.gradle
,这是维护所有子项目的公共插件和依赖项的一种方式
settings.gradle
建立项目结构、模块名称、顶层根的名称等,而build.gradle
则应包含插件要求(这些测试应该如何运行?
,如何获取覆盖率报告?
)以及项目需要的一组依赖项
gradlew.bat
文件是用于windows系统的gradle包装器——为了完全卫生,我会将其签入VCS,但如果您只关心*nix生态系统,您应该能够删除此文件
现在,回到我提出的第一点,根据您所在的系统,gradleinit
可能会生成不同的gradle包装器,该包装器可能以意外的方式与这些文件交互。因此,将他们全部纳入风险投资是一种良好的做法
我绝对不会签入
.gradle
或/build
目录-它包含大量用于临时构建步骤的缓存和文件。这些东西应该放在.gitignore
中,以确保最佳的本地开发速度,但将这些东西放在VCS中没有多大意义。gradlew脚本是最重要的;在项目中运行Gradle的推荐方法。它确保项目中的每个人(以及您在软件更新之间)都使用一致版本的Gradle来构建项目。[2/]settings.Gradle
(或settings.Gradle.kts
)是,最后,Gradle
目录包含从临时构建文件到缓存库的所有内容。虽然不是必需的,但它将在每次构建时重新生成,如果保持原样,构建将执行得更快;在项目中运行Gradle的推荐方法。它确保项目中的每个人(以及您在软件更新之间)都使用一致版本的Gradle来构建项目。[2/]settings.Gradle
(或settings.Gradle.kts
)是,最后,Gradle
目录包含从临时构建文件到缓存库的所有内容。虽然不是必需的,但它将在每次构建时重新生成,如果保持原样,构建将执行得更快。来自Maven或npm等其他构建系统,我想知道为什么一个配置文件(pom.xml,分别为package.json)就足够了,而不需要包装器。为什么这与Gradle不同?来自Maven或npm等其他构建系统,我想知道为什么一个配置文件(pom.xml,分别是package.json)就足够了,而不需要包装器。为什么这与Gradle不同?