Я создаю установочный файл с InnoSetup 5.5.6, и я также использую maven для автоматической сборки установщика.Maven использует exec-maven-plugin, поэтому этот метод эквивалентен запуску iscc.exe в командной строке.
В основном я пытаюсь внедрить номер версии в качестве аргумента командной строки, поэтому я могу использоватьэтот номер версии в файле setup.iss.
Вот аргумент командной строки (более подробно ниже) :
ISCC.exe setup.iss /d"MyAppVersion=1.0.0"
Вот соответствующий фрагмент кода изфайл .iss.Я пытался с этим, но это не работает.Если я жестко закодирую версию, все работает нормально.
[Files]
Source: "..\..\..\target\jars\my-java-project-{#MyAppVersion}.jar"; DestDir: "{app}"; DestName: "my-java-project.jar"; Flags: external
И я хотел бы оценить файл следующим образом:
my-java-project-1.0.0.jar
Не уверен, возможно ли это вообще, но спасибо запомогите заранее.
(РЕДАКТИРОВАТЬ1)
Спасибо всем, кто приложил усилия для решения этой проблемы.
Я думаю, что мое дело не тривиально, и я попытался пропустить не относящуюся к делу информацию, чтобы упростить задачу, но я думаю, что должен поделиться дополнительной информацией о сборке.
Когда я вручную набираю в cmd команду, которая находится внутри exec-maven-plugin
iscc.exe setup.iss /d"VersionText=1.0.0-SNAPSHOT" /d"VersionNumeric=1.0.0" /d"BalanceAgentVersion=1.0.0-SNAPSHOT"
тогда файл jar по-прежнему исключается из упакованного exe-установщика.
Соответствующие коды maven:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>generate-installer</id>
<goals>
<goal>exec</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<executable>${project.basedir}/src/main/resources/issc_executables/ISCC.exe</executable>
<workingDirectory>${project.basedir}/src/main/innosetup/</workingDirectory>
<arguments>
<argument>${project.basedir}/src/main/innosetup/setup.iss</argument>
<argument>/d"VersionText=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}-${parsedVersion.qualifier}"</argument>
<argument>/d"VersionNumeric=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}"</argument>
<argument>/d"MyAppVersion=${my-app.version}"</argument>
</arguments>
</configuration>
свойства мавена:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<dependency-plugin.version>2.10</dependency-plugin.version>
<my-app.version.version>1.0.0-SNAPSHOT</balance-agent.version>
</properties>