使用Maven将InstallerListener添加到IzPack安装程序项目

时间:2015-05-08 09:22:00

标签: java maven installer izpack

我使用maven设置了一个有效的IzPack安装程序项目,并将我的安装脚本 install.xml 添加到[installation] [listeners]:

<listener classname=" (company-name) .listener.InstallerListener" stage="install"/>


遗憾的是,该行似乎被忽略,调试器不会停止InstallListener类中的设置断点。我已经阅读了InstallListener的{​​{3}},但它没有用,因为我将构建过程与maven集成;以下是项目对象模型的相关部分 pom.xml

<properties>
    <izpack-standalone.version>4.3.1</izpack-standalone.version>
</properties>

<dependencies>
    <!-- izpack -->
    <dependency>
        <groupId>org.codehaus.izpack</groupId>
        <artifactId>izpack-standalone-compiler</artifactId>
        <version>${izpack-standalone.version}</version>
        <optional>true</optional>
    </dependency>
</dependencies>

<plugins>    
    <!--  IzPack compiler  -->
    <plugin>
        <groupId>org.codehaus.izpack</groupId>
        <artifactId>izpack-maven-plugin</artifactId>
        <version>${org.codehaus.izpack.izpack-maven-plugin.version}</version>
        <dependencies>
            <dependency>
                <groupId>org.codehaus.izpack</groupId>
                <artifactId>izpack-standalone-compiler</artifactId>
                <version>${izpack-standalone.version}</version>
            </dependency>
        </dependencies>
        <configuration>
            <izpackBasedir>${staging.dir}</izpackBasedir>
            <customPanelDirectory>${staging.dir}</customPanelDirectory>
        </configuration>
        <executions>
            <execution>
                <id>standard-installer</id>
                <phase>package</phase>
                <goals>
                    <goal>izpack</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
</plugins>

我在这里缺少什么?

注意:编译后的安装程序确实包含指定的InstallerListener类文件,因此它在运行时可用。

1 个答案:

答案 0 :(得分:1)

您必须将包含面板类的jar文件放入{customPanelDirectory}/bin/panels文件夹中,izpack-maven-plugin将自动将其拾取。

如果您配置了{staging.dir}/bin/panels,则上述情况下此文件夹将解析为<customPanelDirectory>${staging.dir}</customPanelDirectory>

将其添加到install.xml文件将不起作用,因为这将在安装时解决,但不会在安装程序构建时解决。