我想从JBOSS 6.x部署的战争中从一个jar(不是全部)依赖项中读取清单。
我尝试了以下方法- 在该粒子Jar中创建一个类(ManifestReader)。在类代码内部读取清单就像-
URL jarPath = this.getClass().getResource("ManifestReader.class");
JarURLConnection urlConnection = (JarURLConnection)jarPath.openConnection();
Manifest manifest = urlConnection.getManifest();
......
...
当我尝试在命令行中使用java.exe运行相同的代码时,它可以工作并从同一jar获取清单属性。但这在jboss的部署战争中不起作用。我发现的是,当它在战争下部署在JBOSS中时,jarPath(上面的变量)返回为vfs:/路径,这不是有效的jar路径协议,并且无法创建JarURLConnection(返回null)。我不想使用任何jboss特定的utils / library来避免服务器特定的实现。 任何建议如何使用Java修复它?