2013-06-25 48 views
2

我已经使用命令提示符创建了包含外部jar文件的jar文件。但创建该jar文件后,我无法访问主jar文件中的jar文件。我不知道文件夹结构是否已更改或有任何其他问题。如何使用jar文件

命令在命令提示符下使用:

C:\diretory>jar cf mycollection.jar * 

'*' - 对包括文件夹中的所有jar文件。

我只是想在我的项目中制作一个需要的所有外部文件的单个jar文件。它已成功构建,但在给定ClassNotFoundException时使用它。 我现在给你我的问题完整的情况。其实我试图将所有外部外观和感觉的jar添加到单个jar文件中,所以我不需要单独放置每个jar。所以我创建了一个包含所有外部外观和感觉jar文件的jar文件。现在,像使用import语句一样使用它时,它显示我的jar文件中没有这样的类。

+0

你嵌入(包括)其他JAR文件到一个单一的Jar文件? – MadProgrammer

+3

后1)实际的错误或异常输出。 2)用于运行罐子的命令。 3)主罐子的清单。 4)类路径/清单中每个类的'jar -tvf the.jar'。 - 没有这类信息,我们所能做的只是猜测。 –

+0

JAR只是ZIP文件。更改扩展名并使用7zip等ZIP实用程序打开。 –

回答

2

Java不支持嵌入式Jars。我知道,痛苦。

你可以尝试使用类似One-Jar它允许你嵌入多个JAR到一个单一的“主”瓶,但我有自定义类加载器的问题,但你可能有更好的运气...

+0

疯狂的程序员它只是创建一个可执行的jar文件,但怎么样从jar文件本身调用类......我的意思是导入de.javasoft ...等它不允许我调用jar文件内的类。感谢您的答案,但不适用于我 –

+1

您不能然后链接生成的Jar用于其他项目。 OneJar被设计为一个工具,通过它你可以打包一个可释放的应用程序。那么你的问题的答案是“不 - 它不能完成” – MadProgrammer

+0

好吧,我明白谢谢你的帮助:D –

0

正如我” m使用Maven项目我正在使用Maven的目标程序集:程序集以将所有文件打包成一个(使用依赖关系构建)。

而且NetBeans的报价选项“使用依赖关系生成”可能要检查出来,以及...