2015-09-29 4 views
1

Можете ли вы сказать, как работает сравнение версий для UpdateCheck? Как Checker определяет, что версия в updates.xml новее, чем его версия? Например, мое правление использует формулу YEAR/MAJOR.MINOR: 2015/1, 2015/1.1, 2015/1.2, 2015/2, 2016/1 и так далее. Но у меня также есть конкретные выпуски как 2015/1.2-LOK15. Как эти номера версий будут сравниваться во время проверки версии? Спасибо заранее.Install4j autoupdate version сравнение

ответ

1

install4j преобразует строку версии в массив компонентов версии. Сепараторами для создания числовых компонентов версии являются «.», «-» и «_». Каждый компонент версии имеет необязательную ведущую текстовую часть и конечную числовую часть. Текстовые части сравниваются лексически, части версии сравниваются численно.

Компоненты версии, которые начинаются с нечисловых символов, таких как «LOK15», обычно считаются версиями предварительного курсора для одного и того же компонента версии без текстовой части (например, «бета» или «RC»). Таким образом, 2015/1.2-LOK15 считается менее 2015/1.2. Однако 2015/1.2-15LOK будет выше 2015/1.2.

+0

А как насчет '2015/1',' 2015/1.1', '2015/1.2',' 2015/2', '2016/1'? Как они сравниваются? Что такое алгоритм сравнения? – realsonic

+0

Было бы здорово, если бы можно было выбрать алгоритм сравнения в install4j. – realsonic

+0

Я отредактировал ответ. Я добавил запрос функции для специального алгоритма сравнения версий. –

Смежные вопросы