当前位置: 首页 > 面试题库 >

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

朱欣荣
2023-03-14
问题内容

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

1) 说我有一个里面有一个jar的JAR,lib/somejar.jar并且清单文件在里面META- INF/MANIFEST.MF。我将如何设置类路径…?是Class-path: lib/somejar.jar还是../lib/somejar.jar

2)
假设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



 类似资料:
  • 问题内容: 我希望我的Web应用程序使用以下路径登录文件:webapp / logs / 我可以在log4j.properties文件中设置绝对路径,但是生产环境的目录结构将有所不同。有什么办法可以做到吗? 这是我的方法: 这是将日志打印到我的eclipse目录(c:// eclipse)中名为log.log的文件中。我正在使用Tomcat 6。 问题答案: log4j能够扩展系统属性,因此,如果

  • 问题内容: 如标题中所述,我需要确定路径是相对路径还是绝对路径,何时运行程序: 这是我的测试用例。我到底该如何在Shell程序中执行此操作? 或更笼统地说,在这种情况下,如何检查路径是相对的还是绝对的? 问题答案:

  • 问题内容: 我有一个包含2个软件包的项目: tkorg.idrs.core.searchengines tkorg.idrs.core.searchengines 在包(2)中,我有一个文本文件;在包(1)中,我有一个类。这是代码: 但是有这个错误: 你能给出解决方案吗?谢谢。 问题答案: 如果它已经在类路径中,则只需从类路径而不是磁盘文件系统中获取它即可。不要在中摆弄相对路径。它们取决于当前的工

  • 问题内容: 所以这是我的程序,可以正常工作: 如您所见,我正在使用我要读取的文件的绝对路径: 当我尝试使用相对路径时会出现问题: 我收到一个错误: 文件usnumbers.txt与ScanSum.class文件位于同一目录中: 我该如何解决? 问题答案: 从哪个目录执行该类文件?(这将是相对路径的当前工作目录和基本目录。) 如果仅从eclipse启动应用程序,则项目目录将是工作目录,在这种情况下,

  • V1.1.1新增 sp_asset_relative_url($asset_url) 功能: 获取文件相对路径 参数: $asset_url:文件URL 返回 类型字符串,带协议的绝对地址直接返回原来的值,否则会转化为相对于系统upload 目录的文件路径 实例 <?php $file='/data/upload/1.png';//文件路径 $path=sp_asset_relative_url