Неудовлетворенная зависимость выражается через метод setDelegate, параметр 0; Что я могу сделать?

Попробуйте следующее:

[Registry]
Root: HKCU; Subkey: "Environment"; ValueType:string; ValueName: "VARIABLE_NAME"; \
    ValueData: "new_value"; Flags: preservestringtype

Возможно, вам придется добавить это:

[Setup]
; Tell Windows Explorer to reload the environment
ChangesEnvironment=yes

Альтернативно попробуйте:

[Run]
Filename: "{app}\MyProg.exe"; BeforeInstall: SetEnvPath

[Code]
#ifdef UNICODE
  #define AW "W"
#else
  #define AW "A"
#endif

function SetEnvironmentVariable(lpName: string; lpValue: string): BOOL;
  external 'SetEnvironmentVariable{#AW}@kernel32.dll stdcall';

procedure SetEnvPath;
begin
  if not SetEnvironmentVariable('VARIABLE_NAME', 'new_value') then
    MsgBox(SysErrorMessage(DLLGetLastError), mbError, MB_OK);
end;

Ссылка : Часто задаваемые вопросы по Inno Setup - Настройка переменных среды

Если изменение переменной не распространяется (см. Неверная переменная среды [недоступна] для программ [Запуск] в Inno Setup )

[Run]
...; AfterInstall: RefreshEnvironment

[Code]
const
  SMTO_ABORTIFHUNG = 2;
  WM_WININICHANGE = $001A;
  WM_SETTINGCHANGE = WM_WININICHANGE;

type
  WPARAM = UINT_PTR;
  LPARAM = INT_PTR;
  LRESULT = INT_PTR;

function SendTextMessageTimeout(hWnd: HWND; Msg: UINT;
  wParam: WPARAM; lParam: PAnsiChar; fuFlags: UINT;
  uTimeout: UINT; out lpdwResult: DWORD): LRESULT;
  external 'SendMessageTimeoutA@user32.dll stdcall';  

procedure RefreshEnvironment;
var
  S: AnsiString;
  MsgResult: DWORD;
begin
  S := 'Environment';
  SendTextMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
    PAnsiChar(S), SMTO_ABORTIFHUNG, 5000, MsgResult);
end;

Подробнее:

Inno Setup: настройка переменной системной среды

В более современных (другими словами, правильных) операционных системах, таких как Windows 2000, XP и Windows 2003 Server, переменные среды хранятся в реестре под следующим ключом:

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ Environment

Переменные добавляются путем создания нового значения под этим ключом или путем изменения значения, если оно уже существует. Чтобы удалить переменную, вы просто удаляете ее значение реестра, если только вы не удаляете часть расширенного значения, например PATH, и в этом случае вы удаляете только часть, которую вы хотите.

На этом этапе Windows будет не забывайте об изменениях, если вы не выходите из системы или не перезагружаетесь. Чтобы обойти это, SetEnv будет транслировать WM_SETTINGCHANGE для всех окон в системе. Это позволяет другим запросам приложений, например Explorer.exe, получать уведомления об изменениях. Если вы запустите SetEnv из командной строки, это не будет обновлять переменную среды для текущего окна DOS. Это связано главным образом с тем, что процесс (SetEnv) не может изменить среду своего родителя (Командная строка). Тем не менее, любые новые DOS / командные подсказки, которые вы открываете, будут отображать новую переменную / значение.

blockquote>

0
задан Thomas Francois 16 January 2019 в 10:44
поделиться

2 ответа

Ваше сообщение об ошибке гласит следующее:

Нет доступного квалифицирующего компонента типа de.zipcode.view.mapper.ZipCodeMapper: ожидается как минимум 1 компонент, который считается кандидатом на автопровод. ]

Таким образом, проблема здесь:

@Autowired
@Qualifier("delegate")
public void setDelegate(PersonMapper delegate) {
    this.delegate = delegate;
}

Вы пытаетесь выполнить автоматическое подключение в PersonMapper, но не указали bean-компонент, который соответствует требованиям. Вам необходимо настроить @Bean для PersonMapper, чтобы Spring мог внедрить его или аннотировать ваш PersonMapper (или класс, который его расширяет) с помощью @Component (или любого расширяющего стереотипа)

.
0
ответ дан Markoorn 16 January 2019 в 10:44
поделиться

РЕШЕНА ПРОБЛЕМА

Проблема была в том, что я не писал

(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.ERROR)

В каждом картографе, который я пытался использовать!

Теперь я перестраиваю и я начал проект :)

0
ответ дан W.E.B-Developer 16 January 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: