【发布时间】:2017-11-16 00:11:58
【问题描述】:
我正在尝试在 Android Studio 项目中使用我在 Eclipse 中导出的 JAR。问题在于库的工作方式:
我的自定义 API jar 依赖于 2 个主要的 .jar 库,然后这 2 个 .jar 库依赖于十几个 .jar 库。所有这些库都在我的 Eclipse 项目的 libs 文件夹中,它们在 Eclipse 中运行得非常好,但是一旦我导出了我的自定义 jar(其他 jar 包含在较大的 jar 中),我最终得到了一些关于某些类的错误不是可访问。
在 Eclipse 中,我导出为 JAR 文件(不可执行),清单文件为空。但是,如果我尝试在清单文件中填充 Class-Path 属性,我会在导出时从 Eclipse 中收到错误,或者(如果我在外部编辑清单,然后在从 Eclipse 导出后添加它),Android Studio 仍然可以访问错误。
这是我重新打包到库中的清单文件(我的自定义库中的那个):
Manifest-Version: 1.0
Class-Path:
libs/jsoup-1.10.2.jar
libs/commons-codec-1.9.jar
libs/commons-io-2.5.jar
libs/commons-lang3-3.5.jar
libs/commons-logging-1.2.jar
libs/cssparser-0.9.22.jar
libs/htmlunit-2.26.jar
libs/htmlunit-core-js-2.26.jar
libs/httpclient-4.5.3.jar
libs/httpcore-4.4.6.jar
libs/httpmime-4.5.3.jar
libs/jetty-client-9.4.3.v20170317.jar
libs/jetty-http-9.4.3.v20170317.jar
libs/jetty-io-9.4.3.v20170317.jar
libs/jetty-util-9.4.3.v20170317.jar
libs/neko-htmlunit-2.25.jar
libs/sac-1.3.jar
libs/serializer-2.7.2.jar
libs/websocket-api-9.4.3.v20170317.jar
libs/websocket-client-9.4.3.v20170317.jar
libs/websocket-common-9.4.3.v20170317.jar
libs/xalan-2.7.2.jar libs/xercesImpl-2.11.0.jar
libs/xml-apis-1.4.01.jar
如何让我的代码编译?清单是问题吗?谢谢。
【问题讨论】:
-
在 Class-Path: 之后是否所有这些值都在一行中由空格分隔?如果不是,他们应该是。
-
@dave_thompson_085 显然不是。如果我尝试将它们全部放在一条线上,我会收到 a.limr too long 错误。显然,在这种情况下你就是这样做的。
标签: java eclipse android-studio manifest libs