用我的应用程序打包java jar库

用我的应用程序打包java jar库,java,jar,Java,Jar,我在eclipse中开发了一个需要java3d的应用程序。我有java3d的jar,但我不确定如何将它们放入我的最终jar中,以便我的应用程序可以引用所需的类。我在mac上,只是用命令行制作JAR,这是我的脚本: cd /Users/landonsilla/Sites/3dviewer/bin jar -cvf CyarkCloudViewerPro.jar pointCloudTest/*.class pointCloudTest/icons/*.png 它非常简单,只需获取一些类文件和一

我在eclipse中开发了一个需要java3d的应用程序。我有java3d的jar,但我不确定如何将它们放入我的最终jar中,以便我的应用程序可以引用所需的类。我在mac上,只是用命令行制作JAR,这是我的脚本:

cd /Users/landonsilla/Sites/3dviewer/bin
jar -cvf CyarkCloudViewerPro.jar pointCloudTest/*.class pointCloudTest/icons/*.png 
它非常简单,只需获取一些类文件和一些图像,然后将它们放入jar中。我如何将java3d罐子放在那里

最终目标是通过jnlp在我的网站上发布。我的应用程序运行正常,我实现的jnlp交付机制运行良好。但是,我的应用程序在尝试使用java3d时崩溃


这似乎是一个简单而常见的请求,我就是想不出答案。

您只需将jar文件添加到主jar中,然后在MANIFEST.MF文件中宣布库。MANIFEST.MF的示例:

Manifest-Version: 1.0
Main-Class: fi.ropecon.contv.client.ConTVClient
Created-By: "Jari Juslin <zds@iki.fi>"
Class-Path: lib/j2ee.jar lib/jbossall-client.jar lib/log4j.jar lib/jnp-client.jar
清单版本:1.0
主类:fi.ropecon.contv.client.ConTVClient
创作人:“Jari Juslin”
类路径:lib/j2ee.jar lib/jbossall-client.jar lib/log4j.jar lib/jnp-client.jar

“Main Class”是当您使用java-jar命令启动程序时调用的类。类路径是普通的Java类路径,但相对于主jar归档文件的根。

请参阅或确定,您能否准确解释如何“将jar文件添加到主jar中”?我知道jar只是一个zip文件,所以我要解压,创建一个名为lib的文件夹,将jar放在那里,然后重新压缩它吗?是的,这很有效。通常人们使用诸如“ant”之类的构建工具来实现这一点。它们允许您列出包含哪些目录和文件以及在哪里。我认为您也可以在“jar”命令的命令行中,在类之后列出包含的jar。jar工具在*nix中的作用很像“tar”,它只是一个奇特的压缩工具。好的,我将jar放在一个lib目录中,然后将命令更改为jar-cvf CyarkCloudViewerPro.jar pointCloudTest/*.class pointCloudTest/icons/*.png lib/*.jar。然后我解压缩了jar,并将其添加到清单文件类路径中:lib/j3core.jar lib/j3dutils.jar lib/vecmath.jar。然后我在应用程序上签名并上传了它。它不起作用如果有帮助,您可以在以下位置打开罐子: