繁体   English   中英

可运行的jar找不到库

[英]Runnable jar not finding libraries

我有一个有一些依赖罐子的项目。 我已经将依赖的jar添加到项目中,然后将其添加到构建路径中。 当我从Eclipse运行它时,它运行良好。

现在,我要将其放入可运行的jar中。 一旦将其与“将所需的库打包到生成的Jar中”选项一起导出为Runnable jar。

当我运行jar时,它引发我Cannot find symbols错误。 这些符号位于相关的jar中,我不知道为什么会这样。

谁能帮我吗 ?

将项目导出到可运行的JAR文件时,应该使用选项将所需的库提取到生成的JAR中,而不是将所需的库打包到生成的Jar中

不同之处在于,对于打包所需的库,它将获取JAR文件并将其放入您的JAR文件中。 因此,JAR文件中包含其他JAR文件。 为此,您的主程序必须对如何读取主JAR文件中的那些JAR文件有深入的了解。

为了澄清,结果文件将如下所示:

project.jar/
   com/yourproject/Main.class
   dependencyA.jar
   dependencyB.jar

对于另一个选项,将所需的库提取到生成的JAR中 ,将发生的情况是将那些依赖项解压缩然后打包到JAR文件中。 这次不是作为JAR文件,而是作为类和资源文件。 该方法将允许Java从您的主JAR文件中找到依赖类文件。

现在的结果将如下所示

project.jar/
   com/yourproject/Main.class
   com/dependencyA/SomeClass.class
   com/dependencyA/SomeOtherClass.class
   ...

Java进程将读取此格式,该Java进程将在JAR中查找类和资源文件,而不是嵌套的JAR文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM