gpt4 book ai didi

maven-2 - 将附属国排除在 war 之外

转载 作者:行者123 更新时间:2023-12-02 11:18:27 26 4
gpt4 key购买 nike

如何从 war 中排除依赖项,但在测试或开发之前使用它

最佳答案

正如其他人所建议的,scope=provided 或scope=test 是正确的选择。

  1. <scope>provided</scope>意味着该库将存在于目标系统中并且不需要部署。 (或者在某些情况下,例如 log4j 不得部署,因为否则会导致类加载器问题)
  2. <scope>test</scope>建议仅测试代码需要该依赖项(因此目标系统上不需要或提供)

以下是相关文档:

Introduction to the Dependency Mechanism

相关说明:一个不同的用例是在不同的服务器上使用不同的数据库。您可以使用配置文件部署正确的驱动程序:

<profiles>
<profile>
<id>testserver</id>
<dependencies>
<dependency>
... (database driver a)
</dependency>
</dependencies>
</profile>
<profile>
<id>productionserver</id>
<dependencies>
<dependency>
... (database driver b)
</dependency>
</dependencies>
</profile>
<profile>
<id>localdevelopment</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
... (database driver c)
</dependency>
</dependencies>
</profile>
</profiles>

这样,如果您只需调用 mvn install ,将部署驱动程序 c,而 mvn install -Ptestservermvn install -Pproductionserver将分别包含驱动程序 a 或 b。

关于maven-2 - 将附属国排除在 war 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3528532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com