gradle项目中,引入外部依赖,打成jar时,这些依赖不存在jar包中
时间: 2023-10-08 09:14:33 浏览: 214
jackson-core-2.7.5.jar中文-英文对照文档.zip
在 Gradle 项目中,引入外部依赖时,如果直接使用 `compile` 或 `implementation` 等依赖关系声明语句,打成的 jar 包通常只会包含项目自身的代码,而不会包含依赖的第三方库。
这是因为 Gradle 默认使用的打包方式是将项目的源代码编译成 class 文件并打包,而不会将依赖的第三方库一起打包进去。这种方式可以使得 jar 包更加轻量级,但也意味着使用这个 jar 包时需要手动引入依赖的第三方库。
如果想要将依赖的第三方库打包进 jar 包中,可以使用 Gradle 的 `shadowJar` 插件。该插件会将项目及其依赖的所有 jar 包打包成一个单独的可执行 jar 包,从而避免了手动引入依赖的问题。在 `build.gradle` 文件中添加如下配置即可:
```
plugins {
id 'com.github.johnrengelman.shadow' version '5.2.0'
}
shadowJar {
// 可选配置项,指定生成的 jar 包名称
archiveName = 'my-project-all.jar'
}
```
然后在命令行中运行 `./gradlew shadowJar` 即可生成包含所有依赖的 jar 包。
阅读全文