2010-10-08 1 views
0

System.setProperty("java.library.path", "pathToLibs"); 

не работает, потому что кажется, что «java.library.path» только для чтения или JVM просто игнорирует свойство.Как программировать путь загрузки динамических библиотек в java?

Я знаю, что это можно сделать, установив PATH (в окнах), LD_LIBRARY_PATH (в POSIX) или просто используйте команду java -Djava.library.path = your_path.

Но есть ли способ программирования для этого?

ответ

4

java.library.path оценивается при запуске виртуальной машины, поэтому ее изменение позже не влияет на загрузку собственных библиотек. Однако вы можете использовать System.load(String filename);, чтобы указать полный путь к исходной библиотеке, которую вы хотите загрузить, возможно, вместе с System.mapLibraryName(String), чтобы добавить окончательный файл для конкретной платформы (например, .dll или .so).