请问这个示例中,用gradle如何启动没有主函数的项目的?

https://github.com/ktorio/kto...

但是我自己输入就报错 ./gradlew :locations:run
gradle报错:

* What went wrong:
Project 'locations' not found in root project 'locations'.

而且我在文档里找了半天也没看到gradlew的相关解释,人已裂开

阅读 1.6k
1 个回答

这个其实是用了gradle的subproject的功能,或者更普遍点称为monorepo工程结构场景的构建

这个工程中的sub project已经在上一级目录中定义了: https://github.com/ktorio/kto...

而sub project的定义需要目录中存在settings.gradle配置文件,gradle才会将目录树视为多工程构建,你的task需要跟上project的名字才能运行。

有关gradle多工程构建的内容已经在官方文档有叙述,可以了解一下:https://docs.gradle.org/curre...

回到你的问题上,你的工程本身没有settings.gradle,所以被gradle视为单一工程,自然不能像执行多工程构建那样运行,因此你只需要直接运行:

./gradlew run

就可以了。

gradle官方推荐的书籍 《Gradle in action》十分不错: https://gradle.org/books/mann...

我个人当年就是看的这本书学习的gradle

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题