Где я должен удалить свой настраиваемый конфигурационный файл установщика WIX и как настроить инструмент javafx packger в проекте java fx на основе maven, используя antrun-плагин? Я успешно сделал базовый установщик MSI, используя ресурс пакета по умолчанию, и он работает нормально. Теперь я настроил файлы установщиков WXS, поскольку в основе fxpackager лежит набор инструментов wix при создании MSI.
используя эту настройку установщика MSI и Как настроить пользовательский значок для значка javafx для собственного пакета в Windows Мне удалось добавить Icon. но задача развертывания не выбирает пользовательский файл конфигурации i.e WXS
Я также прочитал официальное руководство http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html
моя структура проекта выглядит следующим образом
Вы можете видеть, что я добавил в обоих местах i.e под java-client/package/windows/. и я также добавил в src/main/deploy/package/windows/. как упоминалось по связанным вопросам. но оба способа не работают с моим плагином maven ant. мой разум взрывается.
Из документации Oracle они заявляют "Инструменты упаковки ищут настраиваемые ресурсы в пути класса, прежде чем возвращаться к встроенным ресурсам. У Java Packager есть"." (текущий рабочий каталог) по умолчанию добавлен в путь к классу. Поэтому, чтобы заменить значок приложения, скопируйте свой значок в. /package/macosx/DemoApp.icns в каталог, из которого запускается javapackager (обычно это каталог корневого проекта).
Я также попытался добавить ${basedir} в ant class-path посмотреть в моей сборной части pom
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<includes>
<include>**/*Test.class</include>
</includes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>default-jar</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>create-temp-jar</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target xmlns:fx="javafx:com.sun.javafx.tools.ant">
<taskdef uri="javafx:com.sun.javafx.tools.ant" resource="com/sun/javafx/tools/ant/antlib.xml"
classpath="maven.plugin.classpath" />
<fx:jar
destfile="${project.build.directory}/${project.build.finalName}-temp">
<fx:application id="fxApp" name="${project.name}"
mainClass="${exec.mainClass}" />
<fx:fileset dir="${project.build.directory}/classes" />
<manifest>
<attribute name="Implementation-Vendor" value="${app.vendor}" />
<attribute name="Implementation-Title" value="${app.name}" />
<attribute name="Implementation-Version" value="1.0" />
</manifest>
</fx:jar>
<attachartifact
file="${project.build.directory}/${project.build.finalName}-temp.jar"
classifier="temp" />
</target>
</configuration>
</execution>
<execution>
<id>create-deployment-bundle</id>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target xmlns:fx="javafx:com.sun.javafx.tools.ant">
<property name="windows.basedir" value="${basedir}/src/main/deploy/package/windows" />
<property name="mac.basedir" value="${basedir}/package/macosx" />
<property name="my.basedir" value="${basedir}" />
<taskdef uri="javafx:com.sun.javafx.tools.ant" resource="com/sun/javafx/tools/ant/antlib.xml"
classpath="${my.basedir}:${windows.basedir}:${mac.basedir}" />
<fx:deploy nativeBundles="msi" width="600" height="400"
outdir="${dist.dir}" embedJNLP="true" outfile="${project.build.finalName}"
verbose="true">
<fx:application name="${project.build.finalName}"
mainClass="${exec.mainClass}" />
<fx:preferences shortcut="true" menu="true"
install="true" />
<fx:resources>
<fx:fileset dir="${project.build.directory}"
includes="${project.build.finalName}.jar" />
</fx:resources>
<fx:info title="${application.title}" vendor="${application.vendor}"
copyright="${application.copyright}" description="Test built from Java executable jar">
<fx:icon
href="${basedir}/src/main/deploy/package/windows/${project.build.finalName}.ico" />
</fx:info>
<fx:platform javafx="${javafx.version}">
<fx:jvmarg value="-Xms512m" />
<fx:jvmarg value="-Xmx1024m" />
</fx:platform>
<fx:permissions elevated="true" />
</fx:deploy>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ant-javafx</artifactId>
<version>${javafx.version}</version>
<systemPath>${javafx.tools.ant.jar}</systemPath>
<scope>system</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>javafx</artifactId>
<version>${javafx.version}</version>
<systemPath>${fx.home}</systemPath>
<scope>system</scope>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptors>
<descriptor>src/main/assembly/jar-with-dependencies.xml</descriptor>
</descriptors>
<finalName>${project.build.finalName}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifestEntries>
<JavaFX-Version>${javafx.version}</JavaFX-Version>
<JavaFX-Application-Class>${exec.mainClass}</JavaFX-Application-Class>
<Main-Class>com/javafx/main/Main</Main-Class>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
Можете ли вы, пожалуйста, помогите мне разобраться с проблом.