【问题标题】:Not able to access BouncyCastle jar from application jar无法从应用程序 jar 访问 BouncyCastle jar
【发布时间】:2009-02-24 20:58:45
【问题描述】:

我已经为我的应用程序制作了 jar 文件。我的应用程序中的一个类使用了 BC jar 的 BouncyCastleProvider 类。

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

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

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

谁能告诉我我需要做什么才能从我的 lib 目录访问 BC jar 文件?

提前致谢, 杰尼什

【问题讨论】:

    标签: bouncycastle


    【解决方案1】:

    您的 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.
    

    最后一行不会被解析 如果它没有以新的结尾 行或回车。

    然后我们创建一个名为 MyJar.jar 通过输入以下内容 命令:

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

    这将创建 JAR 文件,其中包含 manifest 包含以下内容:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      • 2014-08-31
      • 2013-06-21
      • 1970-01-01
      • 2018-10-17
      • 2013-09-29
      相关资源
      最近更新 更多