Java Manifest文件的类路径以及如何确定相对目录

MANIFEST.MF文件中的类路径如何确定相对位置?

说我有一个里面有一个jar的JAR,lib/somejar.jar并且清单文件在里面META-

INF/MANIFEST.MF。我将如何设置类路径…?是Class-path:

lib/somejar.jar还是../lib/somejar.jar

假设somejar.jar中还包含其他jar,这些jar是主jar所依赖的。当然,somejar.jar也有其自己的MANIFEST.MF文件,该文件具有正确设置的类路径字段。现在,让我们说原始的主jar文件在运行时需要访问那些JAR文件之一,只要somejar.jar位于main.jar的类路径上,它就能这样做吗?还是因为主jar正在运行“

somejar.jar”而不再是根目录,所以相对目录被弄乱了吗?

次要更新:全部将在应用程序服务器上的Web环境中运行。

回答:

当做“普通香草”时,JAR内不能有JAR。您需要将其放置在相对于主JAR的已知路径之外, 或者 将JAR的内容提取到主JAR中。

但是从Eclipse 3.5开始,您可以使用内置技巧来做到这一点。选择“ 导出” >“可运行的JAR文件”_时,请选中“第二 _库处理” 选项。 __

替代文字

当选择 打包所需的库到生成的JAR中时

,Eclipse将添加一个特殊的类加载器,该类加载器将在执行主类之前为您透明地加载那些JAR。它是借助做到的JarRsrcLoader

以上是 Java Manifest文件的类路径以及如何确定相对目录 的全部内容, 来源链接: utcz.com/qa/422985.html

回到顶部