Указание расположения коммуникационных библиотек Java - PullRequest
1 голос
/ 29 февраля 2012

Есть ли обходной путь или решение для того, чтобы поместить файл javax.comm.properties и файл win32com.dll в их соответствующие папки?

Моя программа работает нормально, когда файлы хранятся, как показано ниже:
% JAVA_HOME% / jre / lib / ext / comm.jar
% JAVA_HOME% / bin / win32com.dll
% JAVA_HOME% / lib / javax.comm.properties

Этоработал хорошо, пока ИТ-отдел не изменил разрешения на наших компьютерах, чтобы мы больше не могли писать в эти папки.Я хотел бы иметь возможность установить написанную мной Java-программу, которая использует последовательный порт один раз, без необходимости переустанавливать его каждый раз, когда ИТ-отдел решает обновить наши JVM.Кто-нибудь знает способ сделать это?

1 Ответ

0 голосов
/ 29 февраля 2012

Это всегда хорошая практика, чтобы отделить выполнение вашего приложения от конфигурации компьютера, на котором оно работает. В вашем случае первой задачей будет определить, где вы хотите хранить дополнительные библиотеки и файлы конфигурации, которые необходимы (вероятно, лучше всего связать их с вашим приложением). Как только это будет сделано, вы можете настроить свое приложение так, чтобы оно находилось при запуске:

Предполагая следующее дерево каталогов:

myapp
  |
  --lib (archives and shared libraries stored here)
  |
  --resources (configuration files go here)

Вы можете сделать:

java -Xbootclasspath/a:myapp/lib/comm.jar -cp "myapp/lib/*:myapp/resources" -Djava.library.path="myapp/lib"

Ваши файлы JAR и DLL будут помещаться в подпапку lib, а файл свойств - в подпапку ресурсов.

...