Как ссылаться на расположение файла JAR во время выполнения - PullRequest
1 голос
/ 28 декабря 2011

Мне нужно ссылаться на некоторые файлы JAR при выполнении Java-программы.Проблема в том, что эти файлы JAR никогда не будут в стандартном месте.Это означает, что при запуске Java-программы мне нужно выяснить, где находятся эти jar-файлы, и обновить все ссылки в Java-программе.Я понятия не имею, как это сделать, хотя.Буду признателен за любую помощь.

Сценарий: У меня есть процесс A (написанный на .NET), который запускает процесс B (файл Jar).Процесс B должен ссылаться на тонны файлов Jar (250 МБ).Проблема в том, что расположение файлов jar изменится.

Несколько примеров:

C:\Program Files (x86)\TestProgram 
D:\OtherProgram 
E:\Program Files\ThirdLocation

Итак, Процесс A или B будет читать реестр (на Windows Server), чтобы узнать, где находятся файлы Jar.Затем процесс B должен «волшебным образом указать все ссылки в коде на эти файлы jar».

Проблема: Проблема в том, что я не знаю, как «волшебным образом указать все ссылки в коде на эти файлы JAR».Я предполагаю, что мне нужно каким-то образом динамически загружать jar-файлы или обновлять ссылки при запуске процесса B.

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

Есть идеи, как это сделать?Спасибо за любую помощь !!

1 Ответ

0 голосов
/ 28 декабря 2011

Один из аргументов среды выполнения Java (java.exe или javaw.exe) - -cp. Он используется для установки пути к классам, как описано здесь .

Приятной особенностью Java 6 является то, что вы можете использовать подстановочные знаки при настройке вашего пути к классам. Итак, предположим, что вам нужно загрузить все JARS в одну папку, вы можете сделать что-то вроде этого:

-classpath "../lib/*" 

Для командной строки -classpath и -cp - это одно и то же.

Для разделения путей к классам вы должны использовать точку с запятой. Вы можете легко настроить весь путь к классу, используя подстановочные знаки выше или, если это не сработает, вам нужно будет указать каждый файл JAR вручную. При этом учитывайте максимальную длину командной строки в Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...