无法从应用程序jar访问BouncyCastle jar

时间:2009-02-24 20:58:46

标签: bouncycastle

我为我的应用程序制作了jar文件。我的应用程序类之一使用BC jar的BouncyCastleProvider类。

我在应用程序jar所在的同一父文件夹中创建了一个文件夹“lib”。

我已将我的机器CLASSPATH更改为指向此新的lib文件夹。但是当我运行我的应用程序时,它给了我classnotfound异常。

但是,如果我将这个BC jar文件复制到我的jre / lib / ext,那么一切正常。

有人可以告诉我从lib目录访问BC jar文件需要做什么吗?

先谢谢, Jenish

1 个答案:

答案 0 :(得分:0)

您的JAR文件必须将其MANIFEST.MF文件设置为声明JAR的类路径。#

从下面的Sun Tutorial中提取,在你的情况下你只需要让Class-Path指针指向你的lib目录,大概是

Class-Path: lib/BouncyCastle.jar
  

我们想在MyUtils.jar中加载类   进入类路径以供使用   MyJar.jar。这两个JAR文件都在   同一目录。

     

我们首先创建一个名为的文本文件   Manifest.txt具有以下内容   内容:

Class-Path: MyUtils.jar

Warning : The text file must end with a new line or carriage return.
     

不会解析最后一行   如果它不以新的结尾,那就适当   线路或回车。

     

然后我们创建一个名为的JAR文件   MyJar.jar输入以下内容   命令:

jar cfm MyJar.jar Manifest.txt MyPackage/*.class
     

这会创建一个带有的JAR文件   表现出以下内容:

Manifest-Version: 1.0
Class-Path: MyUtils.jar
Created-By: 1.6.0 (Sun Microsystems Inc.)
     

MyUtils.jar中的类现在是   当你加载到类路径中   运行MyJar.jar。