Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在eclipse中将外部jar打包到输出jar文件中_Java_Eclipse_Eclipseme - Fatal编程技术网

Java 如何在eclipse中将外部jar打包到输出jar文件中

Java 如何在eclipse中将外部jar打包到输出jar文件中,java,eclipse,eclipseme,Java,Eclipse,Eclipseme,我目前正在通过Eclipse上的MobileToolsforJava(MTJ)使用J2me。我的程序需要通过RSA加密SMS消息,所以我尝试使用bouncycastle库。我下载bouncycatle 1.47版并添加到我的buildpath。在构建项目时不会出现任何问题。但当我尝试在emulator上运行时,会出现以下错误: TRACE: <at java.lang.NoClassDefFoundError: org/bouncycastle/crypto/engines/RSAEngi

我目前正在通过Eclipse上的MobileToolsforJava(MTJ)使用J2me。我的程序需要通过RSA加密SMS消息,所以我尝试使用bouncycastle库。我下载bouncycatle 1.47版并添加到我的buildpath。在构建项目时不会出现任何问题。但当我尝试在emulator上运行时,会出现以下错误:

TRACE: <at java.lang.NoClassDefFoundError: org/bouncycastle/crypto/engines/RSAEngine>, startApp threw an Exception
TRACE:,startApp引发了异常
这是一个常见的问题,NoClassDef发现。为了解决这个问题,我知道我必须在类路径中包含bouncycastle的类文件。但是问题来了,我不能将bouncycastle类文件打包到MTJ创建的jar中。对于常规项目,我需要做的就是勾选“Order and Export”选项卡中的复选框,将“勾选”引用库中的所有类文件打包到输出jar中。我在这里也这么做,但是在创建包之后,我检查了新的jar文件,里面没有bouncycastle类(使用WinRar检查) 我正在使用EclipseIndigo版本2,构建id:20120216-1857,MTJ版本1.1.2。 我还尝试通过EclipsePulsar 1.3.1创建包,但问题仍然存在。 有什么建议吗?这是虫子吗

关于。

“订单和出口”并不像您想象的那样有效。如果您有两个项目—ProjectA和ProjectB,ProjectA依赖于ProjectA,那么如果ProjectA需要一些.jar,并且您发现ProjectB也需要一些.jar,那么ProjectA中该jar的“订购和导出”也会使ProjectB“可见”

对于JAR文件,您不能将另一个JAR添加到JAR文件中(它适用于WAR和EAR)。解决这个问题有两种可能

  • 您可以解压缩所需的JAR并将类文件添加到您的JAR中,
    JAR-u
    可以帮助您(这似乎很困难,但如果您使用的是ant或maven,您将配置一次)
  • 你可以尝试使用

  • 感谢您的回答,但是如果Eclipse不能自动部署所有内容,那么在开发新应用程序时会非常不方便,因为我不能使用调试器。此外,这个链接展示了一种将类文件包含在应用程序jar中以输出jar的方法。