加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java Manifest.mf类路径问题

发布时间:2020-12-15 04:50:31 所属栏目:Java 来源:网络整理
导读:我一直在尝试运行一个jar文件 – 让我们称之为test.jar – 它在Unix系统上使用Sybase jconn3.jar. 我创建了一个MANIFEST.MF文件,其中包含以下内容: Class-Path: $SYBASE/jConnect-6_0/classes/jconn3.jar commons-net-1.3.0.jar 这给出了一个ClassNotFoundE
我一直在尝试运行一个jar文件 – 让我们称之为test.jar – 它在Unix系统上使用Sybase jconn3.jar.

我创建了一个MANIFEST.MF文件,其中包含以下内容:

Class-Path: $SYBASE/jConnect-6_0/classes/jconn3.jar commons-net-1.3.0.jar

这给出了一个ClassNotFoundError. $SYBASE是指向/ opt / sybase13的系统变量;我也尝试过以下方法:

Class-Path: /opt/sybase13/jConnect-6_0/classes/jconn3.jar commons-net-1.3.0.jar

Class-Path: opt/sybase13/jConnect-6_0/classes/jconn3.jar commons-net-1.3.0.jar

但是,如果我将jconn3.jar文件从$SYBASE / jConnect-6_0 / classes复制到test.jar所在的目录,并将我的MANIFEST.MF更新为如下所示:

Class-Path: jconn3.jar commons-net-1.3.0.jar

应用程序按预期运行.

现在,我已经能够通过在本地复制它来验证jconn3.jar文件的工作原理;我的MANIFEST.MF文件包含我的Main-Class的路径,所以这里没有问题.

您认为这可能是什么问题?我一直在看这个东西太久了.
谢谢!

解决方法

类路径中的条目要么是相对于嵌入它们的JAR(您已经使用它),要么是URL.要使您的绝对路径有效,您需要将它们转换为网址,例如,

文件中:/ opt / sybase13 / …

没有使用变量的机制.

尽管JAR规范没有明确说明,但绝对文件:scheme URL在class-path属性中起作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读