Как установить ключ в файле .properties с помощью переменной установщика в installer4j (5.1.14)

Я пытаюсь создать установщик для своего приложения, который запрашивает номер порта, каталог данных приложения и т. д.

Я попытался использовать действие «Заменить переменную установщика в текстовых файлах» с настраиваемой формой, в которой есть текстовое поле с информацией, которую я хочу сохранить в файле .properties.

Я пытался поместить переменную в файл .properties разными способами, но безуспешно.

http.port = ${portnum}  or
http.port = ${installer:portnum} or
http.port = portnum  

и т. д. portnum — это имя переменной для текстового поля (которое хранит значение, указанное в тексте), но здесь ни один из кодов не работает. Сгенерированный файл имеет те же строки, но не берет значения из переменной.

Я хотел знать, где я делаю ошибку. Я новичок в install4j, поэтому буду признателен за подробный ответ. Заранее спасибо.


person Prashant    schedule 13.07.2015    source источник
comment
Есть ли причина, по которой вы не можете использовать Install4j 6? У него есть действие «Записать свойства в файл»: ej-technologies.com/products/install4j. /whatsnew6.html   -  person Malt    schedule 13.07.2015
comment
Да, я знаю. но в нашем проекте мы используем Java 1.6, а install4j 6.0 требует минимальной версии Java 1.7. Вот почему я не могу использовать 6.0   -  person Prashant    schedule 13.07.2015
comment
Использование Java 1.6 — плохая идея по многим причинам, но я думаю, вы это знаете. Как насчет использования записи текста в файл для добавления соответствующего ключа (при условии, что его еще нет)?   -  person Malt    schedule 13.07.2015
comment
Я тоже пробовал это, но это ничего не добавляет в файл. если я устанавливаю сообщение об ошибке, это дает мне ошибку com.installer4j.runtime.beans.action.writetextaction.   -  person Prashant    schedule 14.07.2015


Ответы (2)


Из вашего комментария:

Да, я знаю. но в нашем проекте мы используем Java 1.6, а install4j 6.0 требует минимальной версии Java 1.7.

Это относится только к IDE install4j, но не к установленному приложению и установщику, где минимальная версия 1.6. Таким образом, вы должны быть в порядке с install4j 6 и действием «Записать свойства в файл».

В противном случае синтаксис

${installer:portnum}

должно работать с действием "Заменить переменную установщика в текстовых файлах", если определена переменная portnum.

person Ingo Kegel    schedule 13.07.2015
comment
Можете ли вы сказать, как я должен определить переменную portnum? Я дал только имя переменной в списке свойств текстового поля. (и вместе с этим использовал действие «Установить переменную») - person Prashant; 14.07.2015
comment
Если компонент формы текстового поля имеет свойство Variable name, установленное на portnum, вам не нужно действие Установить переменную. Вы можете просмотреть файл журнала по адресу .install4j/installation.log в каталоге установки, чтобы узнать, как и когда изменяются переменные. - person Ingo Kegel; 14.07.2015

Я решил проблему, выполнив следующие...

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

http.port = ${installer:portnum} 

это решило мою проблему. Спасибо всем, кто внес свой вклад.

person Prashant    schedule 15.07.2015