Эта проблема связана с запуском Java-программы (jar), зависящей от библиотеки jar третьей стороны, даже после установки classpath, и попыткой многих других методов, читая статьи в Интернете.
Я хочу использовать третий пакет Pack1.jar (он не является частью jvm) как зависимость моей программы.Я не знаю, где файл Pack1.jar может находиться на компьютере развертывания, и я хочу, чтобы развертыватель указал путь к сторонним библиотекам
. Я безуспешно пробовал следующие альтернативы
Установка java.class.path программно
String class_path = args[0];
System.setProperty("java.class.path",class_path);
Здесь я предполагаю, что развертыватель будет указывать classpath в качестве первого аргумента при запуске программы
Настройка CLASSPATH env_var для поиска каталога третьей стороны
Во время работы с использованием опции classpath
java -classpath /path/to/Pack1.jar -jar Pack2.jar
Я думаю, что это не будет работать, потому что в документации сказано, что classpath являетсяигнорируется, когда программа запускается с помощью «java -jar»
Программная установка java.ext.dirs.
- Программная установка java.library.path.
Я не хочу указывать Class-Path в манифесте, потому что он принимает только относительный путь, и я не знаю, где будет храниться сторонняя библиотека в машине развертывания
Но яЯ не могу запустить банку.
Как я могу решить эту проблему, помогите, пожалуйста.