我有一个项目有一些依赖的罐子。我已经添加了相关的罐子项目,然后将它们添加到构建路径。 当我从eclipse运行它时,它运行良好。Runnable jar没有找到库
现在我想把它变成一个可运行的jar。 一旦我将其导出为Runnable jar以及选项“将所需库包装到生成的Jar中”。
当我运行jar时,它会抛出我Cannot find symbols
错误。这些符号存在于相关的罐子里,我不知道它为什么会发生。
任何人都可以帮我吗?
我有一个项目有一些依赖的罐子。我已经添加了相关的罐子项目,然后将它们添加到构建路径。 当我从eclipse运行它时,它运行良好。Runnable jar没有找到库
现在我想把它变成一个可运行的jar。 一旦我将其导出为Runnable jar以及选项“将所需库包装到生成的Jar中”。
当我运行jar时,它会抛出我Cannot find symbols
错误。这些符号存在于相关的罐子里,我不知道它为什么会发生。
任何人都可以帮我吗?
你应该使用选项提取所需的库到生成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进程,寻找类和资源文件的JAR不嵌套的JAR文件。
这样做还是一样的问题。 – Aneesh 2014-09-25 11:52:49
运行JAR文件时,可以粘贴完整的错误吗? – toomasr 2014-09-25 11:54:01