Java Manifest.mf中的类路径定义是否覆盖或补充EAR中的库路径?
关于MANIFEST.MF中类路径的使用,我与另一个开发人员(以及经验证据)有不同的意见 我的/lib文件夹中有一只耳朵,里面有一堆罐子。在my application.xml中,我已将我的Java Manifest.mf中的类路径定义是否覆盖或补充EAR中的库路径?,java,jar,classpath,manifest,ear,Java,Jar,Classpath,Manifest,Ear,关于MANIFEST.MF中类路径的使用,我与另一个开发人员(以及经验证据)有不同的意见 我的/lib文件夹中有一只耳朵,里面有一堆罐子。在my application.xml中,我已将我的定义为/lib,但我认为这是默认设置/值 在我的根目录中,我有一个myejb.jar文件。在EJB中,我有一个MANIFEST.MF和一个类路径条目 因此,现在的问题是: 如果在EJB清单中找到类路径条目,那么类加载器是否仍然可以访问/lib中的所有jar/lib,即使它们没有在清单中显式指定 如果在清单中找
定义为/lib,但我认为这是默认设置/值
在我的根目录中,我有一个myejb.jar
文件。在EJB中,我有一个MANIFEST.MF和一个类路径条目
因此,现在的问题是:
部分问题是由于我使用的第三方EJB的清单写得很差(在根文件夹中查找lib、不存在的jar等)。因此,我可以重写清单,但是,我也质疑在有签名的EJB jar的情况下这将如何工作。我是否能够从清单中定义的位置移动依赖项库?不幸的是,类加载是为应用程序服务器类型指定的。 在大多数情况下是这样的。当服务器通过类路径在类中搜索ear时,它会遍历并搜索:
如果需要,您可以在jar中编辑清单并再次签名。请确认我的理解;如果清单类路径中列出了任何内容,则无法访问
中的任何内容?所有内容都必须明确指定?在这种情况下,如果我将所有内容都放在/lib中,那么指定一个最简单的类路径有什么好处?有什么价值吗?是的,这很正确。若服务器并没有通过类路径找到jar,它将抛出一个异常。例如,清单中的类路径需要实现瘦战争技术。