2014-11-03 9 views
1

Я использую Launch4j и буду использовать свойство ${dist} в его конфигурации.Как использовать расширение свойства в файле конфигурации Launch4j

Он работает, когда задача и аргумент непосредственно в файле build.xml:

<project ...> 
    <property name="dist" location="/temp/dist" /> 
    <launch4j> 
     <config headerType="gui" outfile="${dist}/myprogram.exe" 
      dontWrapJar="false" jarPath="${dist}/myprogram.jar"> 
      ... 
     </config> 
    </launch4j> 

</project> 

Launch4j однако, может использовать свой собственный файл XML-конфигурации, с <launch4jConfig> в качестве корневого элемента:

в муравья. XML:

<launch4j configFile="my_launch4j_config.xml" /> 

в my_launch4j_config.xml:

<launch4jConfig> 
    <headerType>gui</headerType> 
    <outfile>${dist}/myprogram.exe</outfile> 
    <dontWrapJar>false</dontWrapJar> 
     <jar>${dist}/myprogram.jar</jar> 
     ... 
</launch4jConfig> 

В этом случае ${dist} не расширен, а также %dist% или все, что я пробовал ... Существует ли решение для использования свойств в файле конфигурации launch4j?

+1

Возможно, вы захотите «развернуть» ваш шаблон перед использованием 'config.xml' путем копирования с помощью filteret. Например, см. Http://ant.apache.org/manual/Types/filterset.html – halfbit

ответ

1

Код launch4j не принимает такие замены параметров, но я мог бы изменить это поведение (модификации до net.sf.launch4j.config.ConfigPersister). Я проверяю его в проекте Sourceforge, когда у меня достаточно времени для него.

+0

На самом деле я не проверю это изменение, так как оно вводит некоторую нежелательную зависимость 'ConfigPersiser' с' ant'. Лучше будет [комментарий] (http://stackoverflow.com/questions/26714942/how-use-property-expansion-in-a-launch4j-config-file/26717871#comment42020691_26714942) от @halfbit –