Ошибка при запуске нескольких экземпляров приложения e4 в системе Linux исполняемого файла

Я создаю несколько экземпляров приложения e4 rcp, используя -data @ none. При использовании этого несколько экземпляров успешно создаются в Windows 7, но когда я запускаю приложение в Linux в терминале с помощью ./applicationname, оно выдает ошибку, поскольку связанное рабочее пространство уже используется. Итак, как мы можем создать несколько экземпляров в Linux? Пожалуйста, помогите решить эту проблему.


person vinod raj    schedule 14.10.2014    source источник
comment
Приложение org.eclipse.e4.ui.workbench.swt.E4Application на самом деле требует местоположения рабочей области, поэтому я думаю, что ваш код Windows может делать не то, что вы думаете. Что Platform.getInstanceLocation() дает вам в Windows?   -  person greg-449    schedule 14.10.2014
comment
Он дает путь к exe-файлу, расположенному и выполненному. Даже мне нужно создать несколько экземпляров, например, в Windows для системы Linux.   -  person vinod raj    schedule 14.10.2014
comment
Расположение должно быть нулевым, если указано -data @none.   -  person greg-449    schedule 14.10.2014
comment
Platform.getInstanceLocation() дает null на ПК с Windows, когда я указываю -data @none в аргументах запуска   -  person Jitendar M    schedule 14.10.2014


Ответы (1)


E4Application требует расположения рабочей области. Вы можете установить его в методе LifeCycle @PostContextCreate:

@PostContextCreate
public void postContextCreate()
{
  Location instanceLoc = Platform.getInstanceLocation();

  // -data @none specified?

  if (instanceLoc == null)
    return;

  // OK if location is set

  if (instanceLoc.isSet())
    return;

  // TODO construct a workspace location

  instanceLoc.set(url of location, false);
}
person greg-449    schedule 14.10.2014
comment
Но как мы можем динамически изменить URL-адрес местоположения, чтобы установить экземпляр loc - person vinod raj; 14.10.2014