Gradle使用的两个问题,本地依赖设置与resources资源构建
问题1:在使用Gradle多模块管理时,子模块中定义本地依赖要注意相对路径是以子模块为基准,不出错但就是找不到依赖的类
比如:
subprojects { dependencies { compileOnly 'com.google.code.findbugs:annotations:3.0.1' compileOnly files('../lib/webfast-common-0.0.1.jar') # 此处的本地依赖lib是位于父级项目中,如果使用lib/webfast-xxx.jar则是指位于子模块中 implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframework.boot:spring-boot-starter-test' } }
问题2:在使用Gradle的clean任务后,通过Intellij IDEA运行程序时会先执行Gradle的build任务,发现只是把java目录中的类文件编译生成,但resources文件没有同时生成,这种情况以前一真没有发生。检查之后发现是由于在模块中使用了新的Gradle插件java-library,这个插件对以前的java插件是不是产生了影响尚不清楚,但是只要是加入了java-library插件,resources资源文件就不生成到build文件夹,因此会造成运行程序时找不到.properties、xml、yml和自定义的资源文件。