Сценарий:
У меня есть апплет, который должен использовать .dll.
Эта .dll ДОЛЖНА жить на PATH.
Чтобы получить .dll в PATH, через апплет пользователь, запускающий браузер, ДОЛЖЕН иметь права администратора (обычно это делается щелчком правой кнопкой мыши на значке «Запуск от имени администратора»).
Проблема:
Я бы хотел устранить необходимость получения административных привилегий.
Плохая идея
Я хотел бы, чтобы апплет сохранил файл где-нибудь в домашнем каталоге пользователя. Я хотел бы добавить этот путь к PATH. Видимо, это можно сделать через:
System.setProperty("java.library.path", <new path>);
try {
// this forces JVM to reload "java.library.path" property
Field fieldSysPath = ClassLoader.class.getDeclaredField( "sys_paths" );
fieldSysPath.setAccessible( true );
fieldSysPath.set( null, null );
} catch (Exception e) {
e.printStackTrace();
init_failure = true;
}
Вопрос
Это плохая идея, чтобы заставить JVM сделать это? Это использует недокументированные методы / это просто хакерство?
Другие биты
Поскольку это апплет, я не могу указать java.library.path с помощью опции -D, правильно?
Этот код находится во внутренней сети. Не предназначен для среднего интернет крутого парня.