gpt4 book ai didi

java - 如何从 Web 应用程序中存在的类访问 ear 的 list 文件?

转载 作者:行者123 更新时间:2023-11-30 10:52:46 24 4
gpt4 key购买 nike

我想从 EAR 中 Web 应用程序中存在的类访问 EAR list 文件中定义的属性。有什么办法可以访问它。目前,我通过传递属性名称/值来使用以下代码来访问正确的 list 文件,然后我将添加更多代码来获取所需属性的值。

public static Manifest getManifest(Class<?> cls, String entryName, String entryValue) throws IOException
{
Manifest retManifest = null;
boolean matchFound = false;
Class<?> srcClass = cls == null ? this.class : cls;
Enumeration<URL> resources = srcClass.getClassLoader().getResources("META-INF/MANIFEST.MF");

while (resources.hasMoreElements() && matchFound == false)
{
URL u = resources.nextElement();
Manifest manifest = new Manifest(u.openStream());
if (manifest != null)
{
Attributes atr = manifest.getMainAttributes();
if (atr != null && atr.keySet() != null)
{
Iterator<Object> atrIr = atr.keySet().iterator();
while (atrIr.hasNext() && matchFound == false)
{
Object atrKey = atrIr.next();
if (atrKey != null && atrKey.toString().equals(entryName))
{
if (atr.get(atrKey) != null && atr.get(atrKey).toString().equals(entryValue))
{
retManifest = manifest;
matchFound = true;
break;
}
}
}
}
}
}
return retManifest;
}

我的问题是代码运行良好并扫描了来自各种 jar 文件的所有 list ,但不知何故找不到 ear 的 META-INF 文件夹下的 list 文件。有人可以帮我找到同样的东西吗。

最佳答案

引用EAR file format on wiki

==============>>>META-INF 目录至少包含 application.xml 部署描述符,称为 Java EE 部署描述符。它包含以下 XML 实体:

图标,指定表示应用程序的图像的位置。分割为小图标和大图标。显示名称,标识应用程序描述存档中每个模块的模块元素应用程序中全局安全角色的零个或多个安全角色元素每个模块元素都包含一个 ejb、web 或 java 元素,用于描述应用程序中的各个模块。 Web 模块还提供了一个上下文根,它通过其 URL 标识 Web 模块。

程序正在查找的 ear 的 META-INF 目录中没有 MANIFEST.MF。

关于java - 如何从 Web 应用程序中存在的类访问 ear 的 list 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34289754/

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