我正在研究多模块Java Spring引导应用程序。结构如下所示。
module 1 (packaging: pom)
submodule 1.1 (packaging: jar)
submodule 1.2 (packaging: jar)
module 2 (packaging: pom)
submodule 2.1 (packaging: jar)
submodule 2.2 (packaging: jar)
webapplication (packaging: war)
use submodule jars as dependencies
webapplication
模块包含所有REST API
。一种REST API应该读取MANIFEST.MF
文件中的war
文件,并提供一些与已部署的应用程序有关的信息。
正在使用以下代码来读取MANIFEST.MF
文件。 (在这里手工制作)
InputStream input = getClass().getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
Manifest manifest = new Manifest(input); //java.util.jar.Manifest
Attributes attrs = manifest.getMainAttributes();
问题
使用spring-boot:run
命令运行该应用程序时,我在attrs
中可以找到的内容与战争中MANIFEST.MF
文件中看到的内容完全不同。它必须正在从其他清单文件中读取。
问题
MANIFEST
文件?我必须使用servletContext()
来加载文件吗?jcbi-manifests
软件包。可以解决问题吗?