eclipse: переопределение имени пользователя в config.ini

У меня есть многопользовательская установка eclipse (3.4) с общей основной областью конфигурации. Пользователи должны переопределить user.name своим полным именем, и обычный метод (добавление -Duser.name = ... в eclipse.ini) не подходит, поскольку переопределение должно выполняться для каждого пользователя. Я пробовал установить user.name в config.ini (внутри каталога configuration каждого пользователя):

user.name=Luca Tettamanti

но он работает, eclipse по-прежнему сохраняет имя для входа. Странно то, что:

user.foobar=Luca Tettamanti

правильно подобран. Можно ли как-то переопределить user.name в этой конфигурации?


person Luca Tettamanti    schedule 11.12.2008    source источник
comment
добавить комментарий к пользовательской пусковой установке: это сработает для вас?   -  person VonC    schedule 11.12.2008
comment
Не совсем, но это дало мне хорошую идею, см. Мой комментарий. Хотите исправить свой ответ для использования в будущем?   -  person Luca Tettamanti    schedule 11.12.2008
comment
Я исправил свой ответ, включая ваш комментарий.   -  person VonC    schedule 11.12.2008


Ответы (2)


Об этом сообщалось раньше.

Почему бы вам не использовать настраиваемую программу запуска eclipse (сценарий .cmd), которая изменяет eclipse.ini, а затем вызывает eclipse.exe?

Этот сценарий может получить полное имя с помощью такой команды, как:

net user %username% /domain | find /i "full"

Таким образом, в Windows ваша настраиваемая программа запуска будет запускать eclipse с:

eclipse.exe -clean --launcher.ini shared\eclipse.ini -vmargs -Duser.name=%FULL_NAME%

используя общий eclipse.ini, но указав значение user.name.


В Linux для передачи содержимого переменной оболочки USER в Eclipse необходимо сделать следующее:

exec eclipse -clean --launcher.ini shared/eclipse.ini -vmargs -Duser.name=`eval "echo $USER"`
person VonC    schedule 11.12.2008
comment
Пользователи не могут писать в eclipse.ini, это нарушит цель общей установки ... - person Luca Tettamanti; 11.12.2008
comment
Почти готово :) Я нашел 2 решения: eclipse --launcher.ini user / eclipse.ini (ini-файл для каждого пользователя) или: eclipse -vmargs -Duser.name =% FULL_NAME% (примечание -vmargs) Первый позволяет больше настройки, но последнее легче поддерживать, так как есть только один ini-файл. - person Luca Tettamanti; 11.12.2008
comment
Спасибо, Джоэл Корхонен, за редактирование для Linux. - person VonC; 11.11.2013

Мне немного неясно ваше намерение.

Системное свойство user.name важно, поскольку оно должно отражать имя пользователя, когда-либо запускавшего JVM.

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

Для этого подойдет специальный config.ini или ярлык, как описано в @VonC.

person jamesh    schedule 11.12.2008
comment
Основная цель - получить удобочитаемое имя для $ {user} (шаблоны, коммиты SVN и т. Д.). Имя пользователя не имеет смысла вне офиса. OTHO, как вы говорите, что-то может полагаться на то, что user.name является настоящим именем пользователя: | - person Luca Tettamanti; 11.12.2008
comment
Я не уверен, что вы можете перезаписать системное свойство user.name. - person jamesh; 11.12.2008
comment
Вы можете это сделать, но мне все еще интересно, хорошая ли это идея. У меня ничего не ломается (пока) ... - person Luca Tettamanti; 12.12.2008