Сборка приложения Eclipse RCP, сбой при запуске - PullRequest
1 голос
/ 18 марта 2010

после успешной сборки моего приложения запуск завершается неудачно, поскольку он опирается на файлы конфигурации, которые находятся в каталоге META-INF, и после сборки этот каталог упаковывается в файл jar, что делает его неспособным получить доступ к файлам конфигурации. После распаковки jar-файла вручную, удаления jar-файла и переименования каталога с помощью xxx.jar программа запускается без проблем. Файлы конфигурации необходимы для входа в систему единого входа (Kerberos). Вот код:

Bundle bundle = Platform.getBundle(Application.PLUGIN_ID);
String path;
try {
    path = new URL(bundle.getLocation().substring(18)).getPath();
} catch (MalformedURLException e1) {
    System.out.println(e1);
    path="";
} 
System.setProperty("java.security.auth.login.config",path+"META-INF/jaas-win.config");

Переменная Path содержит что-то вроде «plugin / mydomain.pluginame-xxxx.jar /» Но, похоже, система нуждается в разархивированной банке.

Что я делаю не так, собирая приложение? Спасибо

1 Ответ

0 голосов
/ 23 марта 2010

После изменения кода на:

    ClassLoader cl = Thread.currentThread().getContextClassLoader();
    URL authconf = null;
    authconf= cl.getResource("META-INF/jaas-win.config");

    if (authconf == null) {
        loginContext = null;
        return;
    }

    String p;
    try {
         p = URLDecoder.decode(authconf.toExternalForm(), "UTF-8");
         System.setProperty("java.security.auth.login.config", p);
    } catch (UnsupportedEncodingException e1) {
        loginContext = null;
        return;
    }

теперь работает.

...