java - 通过Maven支持多个应用服务器

标签 java maven websphere wildfly

我们有一个部署在 Wildfly 上的 Java Web 应用程序。然而,一位客户现在想要使用 WebSphere。我们发现包含 jar文件在 lib我们的文件夹war Wildfly 和 WebSphere 之间的文件需要稍有不同 - WebSphere 不喜欢使用 Wildfly 可以使用的某些库(AS 提供的不同库?)。

我们希望尽可能地实现自动化,尽管我认为 pom.xml 中可能会有一些手动操作。或build.xml当需要为其中之一进行构建时,创建文件。但是有没有一种好的、理智的方法来过滤 jar文件是否适当?我唯一能想到的就是使用 <exclusions>pom.xml文件,但如果我想为一个 AS 与另一个 AS 进行构建,我不知道如何明智地控制它,而不仅仅是评论一堆 <exclusions><scope>出来了,这似乎不切实际。

是否可以通过 Maven 以某种方式以几乎完全自动化的方式完成此操作?或者最好的方法是什么?

最佳答案

使用build profiles.

它们允许您激活/停用 POM 的部分内容。因此,您定义了一个配置文件 websphere 和一个配置文件 wildfly。您将供应商特定的依赖项放入配置文件中(您还可以将相同的依赖项放入具有不同排除项的每个配置文件中)。

然后,您可以从命令行、settings.xml 或通过给定文件的存在或不存在来激活/停用配置文件。

关于java - 通过Maven支持多个应用服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57417760/

相关文章:

java - 如何使用 Java 对 URL 进行编码

java - 如何在WebSphere 7中捕获Oracle JDBC PL/SQL函数调用的参数值

java - 如何从 IBM WebSphere 9 在 Spring Boot 中获取 JNDI 数据源

java - jms 消息不移动 websphere 中的队列

java - 控制上传的文件类型(只能上传特定扩展名)

java - PdfBox 将多页 PDF 转换为一张 JPG 图像

java - 在 ConcurrentSkipListSet 中添加了重复项

java - OpenAM 与 Maven

java - 在没有 Maven 的情况下使用 Jclouds

java - Intellij maven 项目编译 fatal error : invalid flag: --release