2009-02-24 7 views
0

Я сделал файл jar для своего приложения. Один из классов моего приложения использует класс BouncyCastleProvider BC.Не удалось получить доступ к банке BouncyCastle из приложения jar

Я создал одну папку «lib» в той же родительской папке, где находится моя аппликация.

Я изменил свою машину CLASSPATH, чтобы указать на эту новую папку lib. Но когда я запускаю свое приложение, это дает мне классное исключение.

Но если я скопирую этот файл jar BC в мой jre/lib/ext, тогда все будет хорошо.

Может ли кто-нибудь сказать мне, что мне нужно сделать для доступа к файлу jar BC из моего каталога lib?

Спасибо заранее, Жениш

ответ

0

Ваш файл JAR должен иметь свой файл MANIFEST.MF установить объявить путь к классам для ЕАО. #

экстракт из ниже 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.

 Смежные вопросы

  • Нет связанных вопросов^_^