java - 将 Maven mask jar 包含到其他 mask jar 中

标签 java maven architecture maven-shade-plugin

我有两个Java项目数据服务应用程序和数据报告应用程序,数据服务应用程序生成用于某些处理和数据报告应用程序的某些数据应该使用数据服务应用程序来使用它生成的数据来生成一些报告,这两个应用程序都应该构建为 Jar 文件,因此我计划使用 Maven Shade 插件,因为它们使用大量 jars。

我需要将数据服务作为数据报告中的依赖项包含在内(由于某些限制,我无法使用任何其他技术,例如休息),我有以下两个问题这种方法

1) 这两个应用程序都有 log4j 文件和 data.properties ,这两个文件都有特定于每个应用程序的属性,您能否让我知道如何处理这种情况,我尝试了资源转换器,但不起作用,请告诉我如果有人成功地能够使用它。

2)由于这两个应用程序都使用类似的库(例如 spring 和 hibernate),它会消除重复项吗?

3) 让我在一个应用程序中使用 gson 版本 1 和 gson versoin 1.2 它将如何处理这种情况?

4)我的方法正确吗?由于一些限制,我不想使用 Maven 模块。

最佳答案

不,每个 jar 应该是一个库或一个可执行 jar(不能两者都是)。构建库时应包含库(因此没有阴影插件)。

因此,如果您有两个应用程序都使用的类,请构建第三个 jar 作为,并在两个应用程序中将其用作依赖项。

因此,您要么拥有三个不同的项目,要么构建这三个项目的多模块项目,但这取决于具体情况。

关于java - 将 Maven mask jar 包含到其他 mask jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61192763/

相关文章:

java - 将 JTextField 与模型结合使用(在 focusLost 上)并使用模型数据运行操作

java - JOGL 过剩文本不随窗口和基元调整大小

java - java中的组合框+列表

eclipse - 在 pom.xml 中为 Tomcat 7 设置 Servlet/JSP jar

java - 此环境中不提供编译器。也许您正在 JRE 而不是 JDK 上运行? - 但是选择了jdk

android - 访问在线服务

c# - 常见的扩展方法属于项目的哪一层?

java - 关于 SimpleDB 查询

design-patterns - 需要帮助建模图像和一些使用它们的类之间的关系

java - 什么是 Maven Artifact ?