我目前正在Eclipse上使用J2me by Mobile Tools for Java (MTJ)。我的程序需要加密短信的RSA,所以我尝试使用bouncycastle库。我下载了bouncycatle版本1.47并添加到我的buildpath中。构建项目时没有问题。但是当我尝试在模拟器上运行时,我得到了这个错误:
TRACE: <at java.lang.NoClassDefFoundError: org/bouncycastle/crypto/engines/RSAEngine>, startApp threw an Exception这是个常见的问题,NoClassDefFound。为了解决这个问题,我知道我必须在类路径中包含bouncycastle的类文件。但问题来了,我无法将bouncycastle类文件打包到MTJ创建的jar中。对于常规项目,我只需勾选"Order and Export“选项卡中的复选框,即可将”已勾选“的引用库中的所有类文件打包到输出jar中。我在这里做了同样的事情,但是在我创建包之后,我检查了新的jar文件,里面没有bouncycastle的类(使用WinRar检查).I做了一些我正在使用Eclipse Indigo Release 2,build-id: 20120216-1857,MTJ version 1.1.2。我也尝试使用eclipse Pulsar 1.3.1创建包,但问题仍然存在。有什么建议吗?这是一个bug吗?
致以问候。
发布于 2012-04-06 20:56:55
“订单和出口”并不像你想象的那样工作。如果您有两个项目- ProjectA和ProjectB,并且ProjectA依赖于ProjectA,那么如果ProjectA需要some.jar,并且您发现ProjectB也需要some.jar,那么在ProjectA中对该jar的“订购和导出”将使其对ProjectB也“可见”。
对于JAR文件,您不能将另一个jar添加到JAR文件中(它适用于WAR和EAR)。有两种方法可以解决这个问题
jar -u可以帮助您(这似乎很难,但如果您使用的是ant或maven,则只需配置一次)https://stackoverflow.com/questions/10042027
复制相似问题