Gradle本地Jar依赖失效问题求助(Gradle新手)
Gradle新手依赖配置梳理与建议
嘿,作为Gradle新手,我先帮你把项目结构和现有配置清晰呈现出来,再给你几个实用的优化建议:
项目结构
Project . ├── build.gradle ├── sub-project-1 │ ├── build.gradle ├── tests │ ├── rest │ └── unit │ ├── build.gradle // 下文称其为unit_build.gradle
当前unit_build.gradle中的依赖配置
你提到单元测试依赖derby.jar,现有配置如下(看起来最后一行没写完):
dependencies{ // 现有 Derby 依赖配置 testCompile fileTree(dir: "${System.getProperty('java.home')}/../db/lib", include: "derby.jar") testCompile fileTree(dir: "${System.getProperty('java.home')}/../db/lib", include: "d...") }
几个实用优化建议
- 补全/简化多jar包引入:如果最后一行是想引入Derby相关的其他jar包(比如
derbyclient.jar),可以把多个include合并成一个,写法更简洁:testCompile fileTree(dir: "${System.getProperty('java.home')}/../db/lib", include: ["derby.jar", "derbyclient.jar"]) - 使用Gradle推荐的依赖配置项:Gradle新版本中
testCompile已经被废弃,推荐改用testImplementation,兼容性更强:testImplementation fileTree(dir: "${System.getProperty('java.home')}/../db/lib", include: "derby.jar") - 优先使用Maven仓库引入依赖:依赖JDK自带的Derby可能会因为JDK版本不同导致依赖版本不一致,更推荐从Maven仓库引入稳定版本,这样项目的依赖更可控:
// 先添加仓库配置 repositories { mavenCentral() } dependencies { // 引入Derby核心依赖 testImplementation 'org.apache.derby:derby:10.15.2.0' // 如果需要客户端驱动,添加这行 testImplementation 'org.apache.derby:derbyclient:10.15.2.0' }
内容的提问来源于stack exchange,提问作者rajesh
相关产品推荐
相关产品推荐

