我有pom声明的依赖关系A,B和C.是否有可能创建一个配置文件,删除依赖关系,以便当我编译与该配置文件时,我结束了例如与编译依赖项A和B (没有C)?Maven配置文件删除依赖
4
A
回答
12
我不知道一种方法来排除配置文件中的顶级依赖关系(<exlusions>
仅适用于传递依赖关系)。但是你可以在一个单独的个人资料,例如指定一个默认的配置文件的“正常”的依赖和减少你的依赖关系:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>excludeDependency</id>
<dependencies>
</dependencies>
</profile>
</profiles>
与“excludeDependency”的个人资料编译,如果你使用log4j的地方会失败。
您的用例不清楚。也许像optional dependencies或provided dependencies等其他解决方案也可以满足您的需求。看看这些可能性。
+0
这是最好的解决方案,我想。 –
+0
谢谢,这回答我的问题 – Kamil
1
在Maven的配置文件是添加剂在基础型材所以我发现使用好这种模式排除依赖:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>Exclude</id>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
</profiles>
然后您可以通过更改范围测试“排除”的依赖。不适合所有用途,但只是另一种选择。
相关问题
- 1. Maven配置文件依赖于另一个配置文件
- 2. 使删除依赖文件
- 3. 删除maven中的传递依赖项
- 4. Maven - 从Jar中删除依赖项
- 5. Maven:删除单个传递依赖项
- 6. 带配置文件依赖子模块的Maven发布插件
- 7. Maven跳过依赖文件?
- 8. Maven配置的依赖关系(jar)
- 9. 如何配置依赖maven目标?
- 10. Eclipse Maven运行时依赖关系和配置文件
- 11. 蚂蚁任务检索maven配置文件依赖
- 12. 运行maven依赖项中的配置文件
- 13. 基于配置文件的Maven儿童依赖关系
- 14. 如何激活依赖模块中的Maven配置文件?
- 15. 在不同的依赖关系的Maven配置文件
- 16. 如何引用依赖项中的maven配置文件?
- 17. 在Maven中为'依赖'指定配置文件
- 18. 可以maven干净删除已删除的依赖项?
- 19. Maven的依赖排除
- 20. 删除QTKit依赖
- 21. 删除jQuery依赖
- 22. Maven - 设置依赖属性
- 23. maven程序集插件:从依赖关系中删除SNAPSHOT
- 24. Maven:将依赖关系和spring bean配置文件添加到jar文件中
- 25. 排除配置文件中的依赖关系
- 26. 删除延迟配置配置文件
- 27. ImageMagick删除配置文件
- 28. ASP.NET配置文件删除
- 29. 部署具有多个配置文件依赖项的maven工件
- 30. spark maven jar文件依赖关系
你的问题是关于'''部分,对吧? –
Andrew Logvinov - Righ,依赖项A,B,C在 部分中声明,我想使用配置文件删除依赖项C.那可能吗? –
Kamil