我们对 Maven 比较陌生,现在面临一个问题。
我们有一个 Maven 项目 (projectA),它的 JAR 是其他几个项目的依赖项。其他一些项目是一些自定义 Web 容器,而另一些则不是,因此在自定义 Web 容器的情况下提供了一些 projectA 的依赖 jar,但在其他项目的情况下应该是运行时范围。在自定义 Web 容器的情况下,我们目前使用排除列表来过滤掉提供的 jar。
我们想知道使用 Maven 配置文件是否会更好。我们知道如何创建具有不同依赖项的配置文件(实际上相同的依赖项不同范围),并且在两个配置文件中,构建的 projectA jar 按位是相同的。但是我们不知道的是,当我们将项目部署/发布到一个 maven 仓库的 jar 工件时,pom.xml 应该是什么样子?对于这些 Web 容器项目,pom.xml 不应包含提供的 jar,但对于其他项目,pom.xml 应包含这些 jar。
我们可以为每个配置文件中的 jar 使用不同的名称,并使用不同的 pom.xml 部署每个 jar,但由于这些 jar 在位方面是相同的,这似乎不是一个完美的解决方案。所以我们认为必须有更好的解决方案来解决这个问题,只是我们不知道,因为我们对 Maven 比较陌生。谢谢。