2015-11-25 3 views
2

Кажется, что препятствие, связанное с использованием javax.comm для работы с COM-портами, - это размещение двух файлов win32com.dll и javax.comm.properties. Им нужно зайти в папки JRE и/или JDK, что не очень удобно, поэтому приложение легко распространяется среди широкой аудитории.Переносимость Java-приложения с использованием javax.comm

Мне нужно будет взять мою программу и использовать ее на разных компьютерах, где у меня нет привилегий для внесения таких изменений.

Невозможно привести эти файлы в свою банку и заставить их работать там, где они лежат, как и с самим файлом comm.jar?

Если нет, то я должен буду предположить, что javax.comm не будет полезен и найти другой язык для написания моей программы.

ответ

1

Вы можете использовать системное свойство java.ext.dirs.

На Java 6, расширение JAR-файлы также могут быть размещены в месте , который не зависит от какой-либо конкретной JRE, так что расширения могут быть совместно всеми JREs, которые установлены в системе. До Java 6, значение java.ext.dirs относилось к одному каталогу, но по состоянию на Java 6 это список каталогов (например, CLASSPATH), который указывает местоположения , в которых искажаются расширения. Первым элементом путь всегда является каталогом lib/ext JRE. Второй элемент является каталогом вне JRE. Это другое место позволяет устанавливать файлы расширения JAR один раз и использоваться несколькими JRE , установленными в этой системе. Расположение варьируется в зависимости от операционной системы :

Смотрите эту https://docs.oracle.com/javase/tutorial/ext/basics/install.html