在 Java 项目中“排除依赖包”通常是指:在构建工具(Maven / Gradle)中,去掉某个传递依赖(transitive dependency),避免冲突或减小体积。
下面按常见场景说明。
<dependency>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
✅ 作用:使用 demo 时,不会引入 slf4j-log4j12
mvn dependency:tree
示例输出:
+- com.example:demo:1.0.0
+- org.slf4j:slf4j-log4j12:1.7.25
<exclusions>
<exclusion>
<groupId>a</groupId>
<artifactId>b</artifactId>
</exclusion>
<exclusion>
<groupId>c</groupId>
<artifactId>d</artifactId>
</exclusion>
</exclusions>
implementation('com.example:demo:1.0.0') {
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
configurations.all {
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
gradle dependencies
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
或
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
例如多个 guava 版本:
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
⚠️ 排除依赖可能导致 NoClassDefFoundError
排除前确认:
✅ 建议排除后运行:
mvn clean package
或
gradle build
provided(Maven)compileOnly(Gradle)optional如果你能告诉我:
我可以直接帮你写具体配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。